"""Convert a cyclic frequency to an angular frequency before choosing a pulse."""

from __future__ import annotations

import json
from math import pi, sin


def experiment() -> dict[str, object]:
    frequency_mhz, duration_us = 1.0, 0.5
    omega = 2 * pi * frequency_mhz
    correct_area = omega * duration_us
    mistaken_area = frequency_mhz * duration_us
    return {
        "frequency_mhz": frequency_mhz,
        "omega_rad_per_us": omega,
        "duration_us": duration_us,
        "pulse_area_rad": correct_area,
        "on_resonance_excitation": sin(correct_area / 2) ** 2,
        "excitation_if_2pi_is_omitted": sin(mistaken_area / 2) ** 2,
    }


if __name__ == "__main__":
    print(json.dumps(experiment(), sort_keys=True))
