OscProb
EigenPoint.h
Go to the documentation of this file.
1
11
12#ifndef EIGENPOINT_H
13#define EIGENPOINT_H
14
15#include "Definitions.h"
16#include "NuPath.h"
17
18namespace OscProb {
19
20 struct EigenPoint {
22 EigenPoint(int numNus = 3, double e = 0, NuPath p = NuPath(0, 0),
23 bool n = false);
24
26 void SetVars(double e = 0, NuPath p = NuPath(0, 0), bool n = false);
27
28 double fEnergy;
30 bool fNubar;
31 double fNE;
32
33 void SetNE();
34
35 bool operator<(const EigenPoint& rhs) const;
36 bool operator==(const EigenPoint& rhs) const;
37
40 };
41
42} // namespace OscProb
43
44namespace std {
45
46 template <> struct hash<OscProb::EigenPoint> {
47 auto operator()(const OscProb::EigenPoint& ep) const -> size_t
48 {
49 return hash<double>()(ep.fNE) ^ hash<double>()(ep.fPath.zoa);
50 }
51 };
52
53} // namespace std
54
55#endif
Some useful general definitions.
Definition: Absorption.h:6
std::vector< double > vectorD
Definition: Definitions.h:18
std::vector< vectorC > matrixC
Definition: Definitions.h:23
Definition: EigenPoint.h:44
Struct to organise eigensystems for caching.
Definition: EigenPoint.h:20
vectorD fEval
Eigenvalues to be cached.
Definition: EigenPoint.h:38
NuPath fPath
Neutrino path.
Definition: EigenPoint.h:29
void SetVars(double e=0, NuPath p=NuPath(0, 0), bool n=false)
Set eigensystem parameters.
Definition: EigenPoint.cxx:39
void SetNE()
Set energy-density.
Definition: EigenPoint.cxx:51
bool fNubar
Nu-Nubar flag.
Definition: EigenPoint.h:30
double fEnergy
Neutrino energy.
Definition: EigenPoint.h:28
bool operator==(const EigenPoint &rhs) const
Identity operator.
Definition: EigenPoint.cxx:72
bool operator<(const EigenPoint &rhs) const
Comparison operator.
Definition: EigenPoint.cxx:62
EigenPoint(int numNus=3, double e=0, NuPath p=NuPath(0, 0), bool n=false)
Constructor.
Definition: EigenPoint.cxx:25
matrixC fEvec
Eigenvectors to be cached.
Definition: EigenPoint.h:39
double fNE
Energy-density.
Definition: EigenPoint.h:31
A struct representing a neutrino path segment.
Definition: NuPath.h:34
auto operator()(const OscProb::EigenPoint &ep) const -> size_t
Definition: EigenPoint.h:47