30 _Dmsqee = _Dmsq21 + params.
dmsq32 - s12*s12 * _Dmsq21;
48 _OscParameters<T> p = {params[0], params[1], params[2], params[3], params[4], params[5]};
49 this->SetParameters(p);
54 _OscParameters<T> p = {params[0], params[1], params[2], params[3], params[4], params[5]};
67 this->SetParameters(params);
69 const ParamArray DMSQEEA = _Dmsqee *
sqrt(
square(_c213*_ONE - 1./_Dmsqee * _AA) + _s213*_s213*_ONE);
71 const ParamArray C2PHI = (_Dmsqee * _c213 * _ONE - _AA) / DMSQEEA;
72 const ParamArray A12 = 0.5 * (_AA + _Dmsqee*_ONE - DMSQEEA);
74 const ParamArray CPHISQ = 0.5 * (_ONE + C2PHI);
75 const ParamArray SPHISQ = 0.5 * (_ONE - C2PHI);
76 const ParamArray S2PHI = _s213 * _Dmsqee * _ONE / DMSQEEA;
77 const ParamArray CPHI13SQ = CPHISQ * _c13sq + SPHISQ * _s13sq + S2PHI * _c13 * _s13;
79 const ParamArray DL21 = _Dmsq21 *
sqrt(
square(_c212*_ONE - A12 / _Dmsq21) + CPHI13SQ * _s212 * _s212);
80 const ParamArray C2PSI = (_Dmsq21 * _c212 * _ONE - A12) / DL21;
81 const ParamArray CPSISQ = 0.5 * (_ONE + C2PSI);
82 const ParamArray SPSISQ = 0.5 * (_ONE - C2PSI);
84 const ParamArray DL31 = _Dmsq31*_ONE + 0.25 * _AA + 0.5 * (DL21 - _Dmsq21*_ONE) + 0.75 * (DMSQEEA - _Dmsqee*_ONE);
86 const ParamArray JRRM = _s23 * _c23 *
sqrt(SPHISQ * CPSISQ * SPSISQ);
91 DD.col(0) = DL21 * _L4E;
92 DD.col(1) = DL31 * _L4E;
93 DD.col(2) = DD.col(1)-DD.col(0);
99 ParamArray C31 = -1 * CPHISQ * SPHISQ * CPSISQ;
100 ParamArray C32 = -1 * CPHISQ * SPHISQ * SPSISQ;
101 ParamArray C21 = -1 * CPHISQ.square() * SPSISQ * CPSISQ;
102 PP.col(0) = _ONE + 4 * (C31 * SDD.col(1).square() + C32 * SDD.col(2).square() + C21 * SDD.col(0).square());
105 C31 = -1 * CPHISQ * _s23sq * (_c23sq * SPSISQ + _s23sq * SPHISQ * CPSISQ) \
106 - 2 * _s23sq * JRM * _cd;
107 C32 = -1 * CPHISQ * _s23sq * (_c23sq * CPSISQ + _s23sq * SPHISQ * SPSISQ) \
108 + 2 * _s23sq * JRM * _cd;
109 C21 = -1 * (_c23sq * CPSISQ + _s23sq * SPHISQ * SPSISQ) * (_c23sq * SPSISQ + _s23sq * SPHISQ * CPSISQ) \
110 - 2 * (_c23sq - SPHISQ * _s23sq) * C2PSI * JRRM * _cd +
square(2 * JRRM * _cd);
111 PP.col(4) = _ONE + 4 * (C31 * SDD.col(1).square() + C32 * SDD.col(2).square() + C21 * SDD.col(0).square());
113 C31 = _s23sq * SPHISQ * CPHISQ * CPSISQ + JRM * _cd;
114 C32 = _s23sq * SPHISQ * CPHISQ * SPSISQ - JRM * _cd;
115 C21 = CPHISQ * SPSISQ * CPSISQ * (_c23sq* _ONE - SPHISQ * _s23sq) + JRM * _cd * C2PSI;
117 PP.col(3) = 4 * (C31 * SDD.col(1).square() + C32 * SDD.col(2).square() + C21 * SDD.col(0).square()) - 8 * D * SDD.col(0) * SDD.col(1) * SDD.col(2);
119 PP.col(1) = 4 * (C31 * SDD.col(1).square() + C32 * SDD.col(2).square() + C21 * SDD.col(0).square()) + 8 * D * SDD.col(0) * SDD.col(1) * SDD.col(2);
122 PP.col(6) = _ONE - PP.col(0) - PP.col(3);
124 PP.col(2) = _ONE - PP.col(0) - PP.col(1);
126 PP.col(7) = _ONE - PP.col(1) - PP.col(4);
128 PP.col(5) = _ONE - PP.col(3) - PP.col(4);
130 PP.col(8) = _ONE - PP.col(6) - PP.col(7);
132 return PP.isNaN().select(0,PP);
ProbArray P(_OscParameters< T > const ¶ms)
void SetParameters(_OscParameters< T > const ¶ms)
Array< T, Dynamic, Dynamic > ProbArray
Array< T, Dynamic, 1 > ParamArray
#define P(a, b, c, d, e, x)
Oscillation probability calculators.