8 OscCalculatorPMNS_NSI::OscCalculatorPMNS_NSI()
9 : fMixDirty(true), fDmDirty(true), fPropDirty(true), fEpsDirty(true), fPrevAnti(0)
13 OscCalculatorPMNS_NSI::~OscCalculatorPMNS_NSI()
17 double OscCalculatorPMNS_NSI::P(
int flavBefore,
int flavAfter,
double E)
19 const int anti = (flavBefore > 0) ? +1 : -1;
20 assert(flavAfter/anti > 0);
24 if(
abs(flavBefore) == 12) i = 0;
25 if(
abs(flavBefore) == 14) i = 1;
26 if(
abs(flavBefore) == 16) i = 2;
27 if(
abs(flavAfter) == 12) j = 0;
28 if(
abs(flavAfter) == 14) j = 1;
29 if(
abs(flavAfter) == 16) j = 2;
30 assert(i >= 0 && j >= 0);
41 fPMNS_NSI.SetNSI(fEps_ee, fEps_emu, fEps_etau,
42 fEps_mumu, fEps_mutau, fEps_tautau,
43 fDelta_emu, fDelta_etau, fDelta_mutau);
48 fPMNS_NSI.ResetToFlavour(i);
50 const double Ne =
fRho/2;
51 fPMNS_NSI.PropMatter(
fL, E, Ne, anti);
52 return fPMNS_NSI.P(j);