Neutrino Physics: snewpy.neutrino¶
This module implements basic neutrino properties that are used throughout SNEWPY.
- class snewpy.neutrino.FourFlavorMixingParameters(theta12: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")], theta13: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")], theta23: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")], deltaCP: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")], dm21_2: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("eV2")], dm32_2: ~astropy.units.quantity.Quantity | None = None, dm31_2: ~astropy.units.quantity.Quantity | None = None, mass_order: ~snewpy.neutrino.MassHierarchy | None = None, theta14: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")] = <Quantity 0. deg>, theta24: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")] | None = <Quantity 0. deg>, theta34: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")] | None = <Quantity 0. deg>, delta12: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")] | None = <Quantity 0. deg>, delta24: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("deg")] | None = <Quantity 0. deg>, dm41_2: ~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, Unit("eV2")] = <Quantity 0. eV2>, dm42_2: ~astropy.units.quantity.Quantity | None = None, dm43_2: ~astropy.units.quantity.Quantity | None = None)[source]¶
A class for four flavor neutrino mixing. ..Note: it is an extension of
ThreeFlavorMixingParameters, and can be constructed using it:>>> pars_3f = ThreeFlavorMixingParameters() #standard 3flavor mixing >>> pars_4f = FourFlavorMixingParameters(**pars_3f, theta14=90<<u.deg, dm41_2=1<<u.GeV**2)
- ComplexRotationMatrix(i, j, theta, phase)[source]¶
A complex rotation matrix. N.B. the minus sign in the complex exponential matches PDG convention
- Pmf_HighDensityLimit()[source]¶
The probability that a given flavor state is a particular matter state in the infinite density limit. This method assumes the 4th matter state is the heaviest and that the electron fraction remains larger than 1/3
- Returns:
8 x 8 matrix
- VacuumMixingMatrix()[source]¶
The vacuum mixing matrix given the mixing parameters N.B. This is a 8 x 8 matrix
- basis_flavor¶
alias of
FourFlavor_FlavorBasis
- basis_mass¶
alias of
FourFlavor_MassBasis
- class snewpy.neutrino.ThreeFlavorMixingParameters(theta12: Annotated[Quantity, Unit('deg')], theta13: Annotated[Quantity, Unit('deg')], theta23: Annotated[Quantity, Unit('deg')], deltaCP: Annotated[Quantity, Unit('deg')], dm21_2: Annotated[Quantity, Unit('eV2')], dm32_2: Quantity | None = None, dm31_2: Quantity | None = None, mass_order: MassHierarchy | None = None)[source]¶
Mixing angles and mass differences, assuming three neutrino flavors. This class contains the default values used throughout SNEWPY, which are based on NuFIT 6.0 results from September 2024, published in JHEP 12 (2024) 216 [arXiv:2410.05380].
- ComplexRotationMatrix(i, j, theta, phase)[source]¶
A complex rotation matrix. N.B. the minus sign in the complex exponential matches PDG convention
- Pmf_HighDensityLimit()[source]¶
The probability that a given flavor state is a particular matter state in the infinite density limit.
- Returns:
6 x 6 matrix
- VacuumMixingMatrix()[source]¶
The vacuum mixing matrix given the mixing paramters N.B. This is a 6 x 6 matrix
- basis_flavor¶
alias of
ThreeFlavor_FlavorBasis
- basis_mass¶
alias of
ThreeFlavor_MassBasis
- get_mass_squared_differences()[source]¶
Mass squared differences .
- Returns:
tuple – dm21_2, dm31_2, dm32_2.