#include <NCOscProb.h>
Inheritance diagram for NC::OscProb::Decay:

Public Member Functions | |
| Decay () | |
| virtual | ~Decay () |
| virtual double | TransitionProbability (NCType::EOscMode mode, NCType::EEventType interactionType, double baseline, double trueEnergy) const |
| OSCPARS_EXPOSE (DeltaMSqr) | |
| OSCPARS_EXPOSE (Theta) | |
| OSCPARS_EXPOSE (Alpha) | |
Public Attributes | |
| OSCPARS_DEFAULTCLONE | |
Definition at line 425 of file NCOscProb.h.
|
|
Definition at line 428 of file NCOscProb.h. 00428 : OscPars(NCType::kDecay) {}
|
|
|
Definition at line 429 of file NCOscProb.h. 00429 {} // shut gcc up
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
Implements NC::OscProb::OscPars. Definition at line 358 of file NCOscProb.cxx. References NCType::kNuEToNuE, NCType::kNuMuToNuE, NCType::kNuMuToNuMu, NCType::kNuMuToNuS, NCType::kNuMuToNuTau, and SQR(). 00362 {
00363 const double ssq = SQR(TMath::Sin(Theta()));
00364 const double csq = SQR(TMath::Cos(Theta()));
00365 const double arg = L/(2*E);
00366 const double exp = TMath::Exp(-Alpha()*arg);
00367
00368 // Convert to correct units
00369 const double dmsq = 4*NCType::k127*DeltaMSqr();
00370
00371 switch(mode){
00372 case kNuMuToNuMu:
00373 if(intType == NCType::kNC) return 1-(1-SQR(exp))*ssq;
00374
00375 return (SQR(csq) + SQR(ssq*exp) +
00376 2*csq*ssq*exp*TMath::Cos(dmsq*arg));
00377
00378 case kNuMuToNuTau:
00379 if(intType == NCType::kNC) return 0;
00380
00381 return csq*ssq*(1+SQR(exp)-2*TMath::Cos(dmsq*arg)*exp);
00382
00383 case kNuMuToNuE:
00384 return 0;
00385
00386 // Call the thing nu2 decays to "sterile"
00387 case kNuMuToNuS:
00388 return (1-SQR(exp))*ssq;
00389
00390 case kNuEToNuE:
00391 return 1;
00392 }
00393
00394 assert(0 && "Unknown oscillation mode");
00395 }
|
|
|
Definition at line 431 of file NCOscProb.h. |
1.3.9.1