46 template <>
struct hash<
OscProb::EigenPoint> {
49 return hash<double>()(ep.fNE) ^ hash<double>()(ep.fPath.zoa);
Some useful general definitions.
std::vector< double > vectorD
std::vector< vectorC > matrixC
Struct to organise eigensystems for caching.
vectorD fEval
Eigenvalues to be cached.
NuPath fPath
Neutrino path.
void SetVars(double e=0, NuPath p=NuPath(0, 0), bool n=false)
Set eigensystem parameters.
void SetNE()
Set energy-density.
bool fNubar
Nu-Nubar flag.
double fEnergy
Neutrino energy.
bool operator==(const EigenPoint &rhs) const
Identity operator.
bool operator<(const EigenPoint &rhs) const
Comparison operator.
EigenPoint(int numNus=3, double e=0, NuPath p=NuPath(0, 0), bool n=false)
Constructor.
matrixC fEvec
Eigenvectors to be cached.
double fNE
Energy-density.
A struct representing a neutrino path segment.
auto operator()(const OscProb::EigenPoint &ep) const -> size_t