NC::OscProb Namespace Reference

Contains classes representing various oscillation models. More...

Classes

class  SafeDouble
 Wrap a double so that use of it uninitialized is detected. More...
class  OscPars
 Base class for the various oscillation models. More...
class  NoOscillations
 No neutrino oscillations occur. More...
class  ThreeFlavor
 For oscillation model kThreeFlavor. More...
class  SterileFraction
 For oscillation model kSterileFraction. More...
class  SterileFractionTauNorm
 The sterile fraction model, with an additional parameter to scale the CC tau contribution. See docdb 5431. More...
class  FourFlavorBase
 Implements a generalized mixing matrix. More...
class  FourFlavorGeneral
 The general case, all parameters are adjustable. More...
class  FourFlavorDelta43Is0
 Specialized for the case that $ m_4 = m_3 $. More...
class  FourFlavorDelta41Is0
 Specialized for the case that $ m_4 = m_1 $. More...
class  FourFlavorDelta43IsBig
 Specialized for the case that $ m_4 \gg m_3 $. More...
class  Decay
 A model with a combination of oscillations and decay. More...
class  Decoherence
 The decoherence model used by the CC group. More...

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 $ \Delta m^2 $ term in the oscillation formula.

Variables

const double kUninitialized = 0xDEADBEEF
 Special-value for use in SafeDouble.

Detailed Description

Contains classes representing various oscillation models.


Function Documentation

double NC::OscProb::FindSinSqrDeltaMSqr ( double  energy,
double  baseline,
double  deltaMSqr 
)

The $ \Delta m^2 $ term in the oscillation formula.

\[ \sin^2\left(1.267{\Delta m^2L\over E}\right) \]

Definition at line 197 of file NCOscProb.cxx.

References NCType::k127, and SQR.

Referenced by NC::OscProb::SterileFractionTauNorm::TransitionProbability(), and NC::OscProb::SterileFraction::TransitionProbability().

00198 {
00199   return SQR(TMath::Sin(NCType::k127*L/E*dmsq));
00200 }

std::ostream & NC::OscProb::operator<< ( std::ostream &  os,
const OscPars &  rhs 
)

Definition at line 63 of file NCOscProb.cxx.

References NC::OscProb::OscPars::Print().

00065 {
00066   return rhs.Print(os);
00067 }

double NC::OscProb::OscProbFs ( double  ssDeltaMSqr31,
double  amu,
double  fs,
double  ae,
int  oscMode 
)

Helper function for SterileFraction model.

Definition at line 70 of file NCOscProb.cxx.

References NCType::kNuEToNuE, NCType::kNuMuToNuE, NCType::kNuMuToNuMu, NCType::kNuMuToNuS, and NCType::kNuMuToNuTau.

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 }

NCType::EOscMode NC::OscProb::ToOscMode ( int  from,
int  to 
)

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.

References NCType::kNuEToNuE, NCType::kNuMuToNuE, NCType::kNuMuToNuMu, NCType::kNuMuToNuS, and NCType::kNuMuToNuTau.

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 }


Variable Documentation

const double NC::OscProb::kUninitialized = 0xDEADBEEF

Special-value for use in SafeDouble.

Definition at line 28 of file NCOscProb.h.

Referenced by NC::OscProb::SafeDouble::Uninitialized().


Generated on 18 Oct 2018 for loon by  doxygen 1.6.1