19#ifndef PMNS_SiderealLIV_H
20#define PMNS_SiderealLIV_H
36 virtual void SetA(
int flvi,
int flvj,
int coord,
double val);
37 virtual void SetC(
int flvi,
int flvj,
int coord1,
int coord2,
double val);
57 virtual void SetColatitude(
double deg,
double min,
double sec = 0.0);
67 virtual double GetA(
int flvi,
int flvj,
int coord);
68 virtual double GetC(
int flvi,
int flvj,
int coord1,
int coord2);
91 const char* paramName);
107 double fc[3][3][3][3];
Implementation of oscillations of neutrinos in matter in a three-neutrino framework.
Implements oscillations with Sidereal LIV as modelled by SME.
virtual void FillCache()
Deactivate cache.
virtual void SetA(int flvi, int flvj, int coord, double val)
virtual double GetC(int flvi, int flvj, int coord1, int coord2)
virtual ~PMNS_SiderealLIV()
Destructor.
virtual void SetColatitude(double chi)
virtual double GetA(int flvi, int flvj, int coord)
static bool ValidateAndOrder(int &flvi, int &flvj, const char *name)
double fc[3][3][3][3]
cT LIVS parameters (mass dimension 4)
double fa[3][3][3]
aT LIVS parameters (mass dimension 3)
static bool ValidateCoord(int coord, const char *coordName, const char *paramName)
virtual double GetColatitude() const
Get the detector colatitude (chi), in degrees.
static constexpr double kSiderealDayHours
Length of one sidereal day, in hours (IERS/IAU conventional value).
double fTime
Local sidereal time, in hours.
virtual void SetC(int flvi, int flvj, int coord1, int coord2, double val)
virtual void UpdateHam()
Build the full Hamiltonian.
static constexpr double kOmegaSidereal
Angular sidereal frequency, in rad/h.
double fN[3]
Neutrino directional factors (NX, NY, NZ)
virtual void SetNeutrinoDirection(double zenith, double azimuth)
PMNS_SiderealLIV()
Constructor.
virtual void SetTimeHours(double hours)
Some useful general definitions.