NCOscProb.h File Reference

#include <cassert>
#include <vector>
#include <stdexcept>
#include <iostream>
#include "NCUtils/NCType.h"
#include "NCUtils/NCUtility.h"

Go to the source code of this file.

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 $ m_4 = m_3 $. More...
class  NC::OscProb::FourFlavorDelta41Is0
 Specialized for the case that $ m_4 = m_1 $. More...
class  NC::OscProb::FourFlavorDelta43IsBig
 Specialized for the case that $ m_4 \gg m_3 $. 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...

Namespaces

namespace  NC
namespace  NC::OscProb
 

Contains classes representing various oscillation models.


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 NC::OscProb::ToOscMode (int from, int to)
 Get correct NCType::EOscMode enumeration value from a pair of PDG codes from and to.
std::ostream & NC::OscProb::operator<< (std::ostream &os, const OscPars &rhs)
double NC::OscProb::OscProbFs (double ssDeltaMSqr31, double amu, double fs, double ae, int oscMode)
 Helper function for SterileFraction model.
double NC::OscProb::FindSinSqrDeltaMSqr (double energy, double baseline, double deltaMSqr)
 The $ \Delta m^2 $ term in the oscillation formula.

Variables

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

Define Documentation

#define OSCPARS_DEFAULTCLONE
Value:
virtual OscPars* Clone()                \
{                                       \
  __typeof__ this ret = new __typeof__ *this; \
  *ret = *this;                         \
  return ret;                           \
}

Implement the Clone() function.

Definition at line 157 of file NCOscProb.h.

#define OSCPARS_EXPOSE ( var   ) 
Value:
public:                                                      \
  virtual double var() const {return fVals[NCType::k##var];} \
  SafeDouble& var() {return fVals[NCType::k##var];}

Implement a getter and setter for a particular variable.

Definition at line 130 of file NCOscProb.h.

#define OSCPARS_EXPOSEDELTAMSQR ( var   ) 
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);        \
  }

Implement a visible variable DeltaMSqr* with getter and setter and code to calculate sinSqrDelta* and sin2Delta*

Definition at line 138 of file NCOscProb.h.


Generated on 2 Nov 2017 for loon by  doxygen 1.6.1