#include <cassert>#include <vector>#include <stdexcept>#include <iostream>#include "NCUtils/NCType.h"#include "NCUtils/NCUtility.h"Go to the source code of this file.
Namespaces | |
| namespace | NC |
| namespace | NC::OscProb |
Classes | |
| class | NC::OscProb::SafeDouble |
| Wrap a double so that use of it uninitialized is detected. More... | |
| class | NC::OscProb::OscPars |
| Base class for the various oscillation models. More... | |
| class | NC::OscProb::NoOscillations |
| No neutrino oscillations occur. More... | |
| class | NC::OscProb::ThreeFlavor |
| For oscillation model kThreeFlavor. More... | |
| class | NC::OscProb::SterileFraction |
| For oscillation model kSterileFraction. More... | |
| class | NC::OscProb::SterileFractionTauNorm |
| The sterile fraction model, with an additional parameter to scale the CC tau contribution. See docdb 5431. More... | |
| class | NC::OscProb::FourFlavorBase |
| Implements a generalized mixing matrix. More... | |
| class | NC::OscProb::FourFlavorGeneral |
| The general case, all parameters are adjustable. More... | |
| class | NC::OscProb::FourFlavorDelta43Is0 |
Specialized for the case that . More... | |
| class | NC::OscProb::FourFlavorDelta41Is0 |
Specialized for the case that . More... | |
| class | NC::OscProb::FourFlavorDelta43IsBig |
Specialized for the case that . More... | |
| class | NC::OscProb::Decay |
| A model with a combination of oscillations and decay. More... | |
| class | NC::OscProb::Decoherence |
| The decoherence model used by the CC group. More... | |
Defines | |
| #define | OSCPARS_EXPOSE(var) |
| Implement a getter and setter for a particular variable. | |
| #define | OSCPARS_EXPOSEDELTAMSQR(var) |
| #define | OSCPARS_DEFAULTCLONE |
| Implement the Clone() function. | |
Functions | |
| NCType::EOscMode | ToOscMode (int from, int to) |
| Get correct NCType::EOscMode enumeration value from a pair of PDG codes from and to. | |
| std::ostream & | operator<< (std::ostream &os, const OscPars &rhs) |
| double | OscProbFs (double ssDeltaMSqr31, double amu, double fs, double ae, int oscMode) |
| Helper function for SterileFraction model. | |
| double | FindSinSqrDeltaMSqr (double energy, double baseline, double deltaMSqr) |
The term in the oscillation formula. | |
Variables | |
| const double | kUninitialized = 0xDEADBEEF |
| Special-value for use in SafeDouble. | |
|
|
Value: virtual OscPars* Clone() \ { \ typeof(this) ret = new typeof(*this); \ *ret = *this; \ return ret; \ }
Definition at line 157 of file NCOscProb.h. |
|
|
Value: public: \ virtual double var() const {return fVals[NCType::k##var];} \ SafeDouble& var() {return fVals[NCType::k##var];}
Definition at line 130 of file NCOscProb.h. |
|
|
Value: public: \ virtual double DeltaMSqr##var() const \ {return fVals[NCType::kDeltaMSqr##var];} \ SafeDouble& DeltaMSqr##var() \ {return fVals[NCType::kDeltaMSqr##var];} \ protected: \ virtual double sinSqrDelta##var() const \ { \ return NC::Utility::SQR(TMath::Sin(NCType::k127* \ fVals[NCType::kDeltaMSqr##var]*fLoverE)); \ } \ virtual double sin2Delta##var() const \ { \ return TMath::Sin(2*NCType::k127* \ fVals[NCType::kDeltaMSqr##var]*fLoverE); \ } Definition at line 138 of file NCOscProb.h. |
|
||||||||||||||||
|
The
Definition at line 197 of file NCOscProb.cxx. References SQR(). Referenced by NC::OscProb::SterileFractionTauNorm::TransitionProbability(), and NC::OscProb::SterileFraction::TransitionProbability(). 00198 {
00199 return SQR(TMath::Sin(NCType::k127*L/E*dmsq));
00200 }
|
|
||||||||||||
|
Definition at line 63 of file NCOscProb.cxx. References NC::OscProb::OscPars::Print(). 00065 {
00066 return rhs.Print(os);
00067 }
|
|
||||||||||||||||||||||||
|
Helper function for SterileFraction model.
Definition at line 70 of file NCOscProb.cxx. Referenced by NC::OscProb::SterileFractionTauNorm::TransitionProbability(), and NC::OscProb::SterileFraction::TransitionProbability(). 00075 {
00076 switch(oscMode){
00077 case NCType::kNuMuToNuMu: return 1. - amu*ssDeltaMSqr31;
00078 case NCType::kNuMuToNuS: return fs*amu*ssDeltaMSqr31;
00079 case NCType::kNuMuToNuE: return ae*ssDeltaMSqr31;
00080 case NCType::kNuMuToNuTau: return (amu*(1.-fs)-ae)*ssDeltaMSqr31;
00081 case NCType::kNuEToNuE: return 1;
00082 default:
00083 assert(0 && "Bad oscMode");
00084 }
00085 }
|
|
||||||||||||
|
Get correct NCType::EOscMode enumeration value from a pair of PDG codes from and to. Use a PDG code of zero to represent a sterile neutrino. Will convert codes for antiparticles, or the charged leptons to the corresponding neutrino Definition at line 203 of file NCOscProb.cxx. Referenced by NC::OscProb::OscPars::TransitionProbability(). 00204 {
00205 // Use the same oscillation designators for antiparticle oscillations
00206 if(from < 0) from *= -1;
00207 if(to < 0) to *= -1;
00208
00209 // Translate e to nue, mu to numu, tau to nutau
00210 if(from%2) ++from;
00211 if(to%2) ++to;
00212
00213 if(from == 14 && to == 14) return NCType::kNuMuToNuMu;
00214 if(from == 14 && to == 16) return NCType::kNuMuToNuTau;
00215 if(from == 14 && to == 12) return NCType::kNuMuToNuE;
00216 if(from == 14 && to == 0) return NCType::kNuMuToNuS;
00217 if(from == 12 && to == 12) return NCType::kNuEToNuE;
00218
00219 assert(0 && "Don't have an enum for this oscillation mode");
00220 }
|
|
|
Special-value for use in SafeDouble.
Definition at line 28 of file NCOscProb.h. Referenced by NC::OscProb::SafeDouble::SafeDouble(). |
1.3.9.1