OscProb
OscProb::EigenPoint Struct Reference

Struct to organise eigensystems for caching. More...

#include <EigenPoint.h>

Public Member Functions

 EigenPoint (int numNus=3, double e=0, NuPath p=NuPath(0, 0), bool n=false)
 Constructor. More...
 
void SetVars (double e=0, NuPath p=NuPath(0, 0), bool n=false)
 Set eigensystem parameters. More...
 
void SetNE ()
 Set energy-density. More...
 
bool operator< (const EigenPoint &rhs) const
 Comparison operator. More...
 
bool operator== (const EigenPoint &rhs) const
 Identity operator. More...
 

Public Attributes

double fEnergy
 Neutrino energy. More...
 
NuPath fPath
 Neutrino path. More...
 
bool fNubar
 Nu-Nubar flag. More...
 
double fNE
 Energy-density. More...
 
vectorD fEval
 Eigenvalues to be cached. More...
 
matrixC fEvec
 Eigenvectors to be cached. More...
 

Detailed Description

This struct allows for comparisons of eigensystems based on the neutrino energy, nu-nubar status, path density and Z/A.

Author
Joao Coelho - jcoelho@apc.in2p3.fr

Definition at line 20 of file EigenPoint.h.

Constructor & Destructor Documentation

◆ EigenPoint()

EigenPoint::EigenPoint ( int  numNus = 3,
double  e = 0,
NuPath  p = NuPath(0, 0),
bool  n = false 
)

Constructor.

Uses number of neutrinos to fix eigensystem size.

Parameters
numNus- the number of neutrino flavours
e- the neutrino energy
p- the neutrino path
n- nu-nubar flag

Definition at line 25 of file EigenPoint.cxx.

26 : fEval(numNus, 0), fEvec(numNus, vectorC(numNus, 0))
27{
28 SetVars(e, p, n);
29}
std::vector< complexD > vectorC
Definition: Definitions.h:22
vectorD fEval
Eigenvalues to be cached.
Definition: EigenPoint.h:38
void SetVars(double e=0, NuPath p=NuPath(0, 0), bool n=false)
Set eigensystem parameters.
Definition: EigenPoint.cxx:39
matrixC fEvec
Eigenvectors to be cached.
Definition: EigenPoint.h:39

References SetVars().

Member Function Documentation

◆ operator<()

bool EigenPoint::operator< ( const EigenPoint rhs) const

Comparison operator used for sorting into set

Definition at line 62 of file EigenPoint.cxx.

63{
64 if (fNE == rhs.fNE) return fPath.zoa < rhs.fPath.zoa;
65 return fNE < rhs.fNE;
66}
NuPath fPath
Neutrino path.
Definition: EigenPoint.h:29
double fNE
Energy-density.
Definition: EigenPoint.h:31
double zoa
The effective Z/A value of the path segment.
Definition: NuPath.h:80

References fNE, fPath, and OscProb::NuPath::zoa.

◆ operator==()

bool EigenPoint::operator== ( const EigenPoint rhs) const

Identity operator used for finding existing eigensystems

Definition at line 72 of file EigenPoint.cxx.

73{
74 return (fNE == rhs.fNE) && (fPath.zoa == rhs.fPath.zoa);
75}

References fNE, fPath, and OscProb::NuPath::zoa.

◆ SetNE()

void EigenPoint::SetNE ( )

Compute the combined energy-density parameter

Definition at line 51 of file EigenPoint.cxx.

52{
54 if (fNE < 1e-12) fNE = 1e-12;
55 if (fNubar) fNE = -fNE;
56}
bool fNubar
Nu-Nubar flag.
Definition: EigenPoint.h:30
double fEnergy
Neutrino energy.
Definition: EigenPoint.h:28
double density
The density of the path segment in g/cm^3.
Definition: NuPath.h:79

References OscProb::NuPath::density, fEnergy, fNE, fNubar, fPath, and OscProb::NuPath::zoa.

Referenced by SetVars().

◆ SetVars()

void EigenPoint::SetVars ( double  e = 0,
NuPath  p = NuPath(0, 0),
bool  n = false 
)

Set the eigensystem properties to new values

Parameters
e- the neutrino energy
p- the neutrino path
n- nu-nubar flag

Definition at line 39 of file EigenPoint.cxx.

40{
41 fEnergy = e;
42 fPath = p;
43 fNubar = n;
44 SetNE();
45}
void SetNE()
Set energy-density.
Definition: EigenPoint.cxx:51

References fEnergy, fNubar, fPath, and SetNE().

Referenced by EigenPoint(), OscProb::PMNS_Base::FillCache(), and OscProb::PMNS_Base::TryCache().

Member Data Documentation

◆ fEnergy

double OscProb::EigenPoint::fEnergy

Definition at line 28 of file EigenPoint.h.

Referenced by SetNE(), and SetVars().

◆ fEval

vectorD OscProb::EigenPoint::fEval

Definition at line 38 of file EigenPoint.h.

Referenced by OscProb::PMNS_Base::FillCache().

◆ fEvec

matrixC OscProb::EigenPoint::fEvec

Definition at line 39 of file EigenPoint.h.

Referenced by OscProb::PMNS_Base::FillCache().

◆ fNE

double OscProb::EigenPoint::fNE

Definition at line 31 of file EigenPoint.h.

Referenced by operator<(), operator==(), and SetNE().

◆ fNubar

bool OscProb::EigenPoint::fNubar

Definition at line 30 of file EigenPoint.h.

Referenced by SetNE(), and SetVars().

◆ fPath

NuPath OscProb::EigenPoint::fPath

Definition at line 29 of file EigenPoint.h.

Referenced by operator<(), operator==(), SetNE(), and SetVars().


The documentation for this struct was generated from the following files: