File propagator.hpp๏
-
namespace nuTens
-
class Propagator
Subclassed by nuTens::DPpropagator
Setters
-
inline Propagator &setAntiNeutrino(bool newValue)
Set whether we are dealing with anti-neutrinos.
- Parameters:
newValue โ
Set a matter solver to use to deal with matter effects.
- Parameters:
newSolver โ A derivative of BaseMatterSolver
-
inline virtual Propagator &setEnergies(Tensor &newEnergies)
Set the neutrino energies.
- Todo:
Should add a check to tensors supplied to the setters to see how many dimensions they have, and if missing a batch dimension, add one.
- Parameters:
newEnergies โ The neutrino energies
-
inline virtual Propagator &setMasses(Tensor &newMasses)
Set the masses corresponding to the vacuum hamiltonian eigenstates.
- Parameters:
newMasses โ The new masses to use. This tensor is expected to have a batch dimension + 1 more dimensions of size nGenerations. The batch dimension can (and probably should) be 1 and it will be broadcast to match the batch dimension of the energies supplied to calculateProbs(). So dimension should be {1, nGenerations}.
-
inline virtual Propagator &setMixingMatrix(Tensor &newMatrix)
Set a whole new mixing matrix.
- Parameters:
newMatrix โ The new matrix to use
-
inline Propagator &setBaseline(float newBaseline)
Set the baseline.
- Parameters:
newBaseline โ new value
Unnamed Group
-
inline float getBaseline() const
Getters.
Public Functions
-
inline Propagator(int nGenerations, dtypes::deviceType device = dtypes::kCPU)
Constructor.
- Parameters:
nGenerations โ The number of generations the propagator should expect
-
virtual ~Propagator() = default
Destructor.
-
Propagator(Propagator const&) = default
copy constructor
-
Propagator &operator=(Propagator const&) = default
copy assignment operator
-
Propagator(Propagator&&) = default
move constructor
-
Propagator &operator=(Propagator&&) = default
move assignment operator
-
virtual Tensor calculateProbs()
Calculate the oscillation probabilities.
- Parameters:
energies โ The energies of the neutrinos
Protected Attributes
-
BaseMatterSolver::EigenvalTensor _eigenVals๏
-
BaseMatterSolver::EigenvecTensor _eigenVecs๏
-
int _nGenerations๏
-
float _baseline = {NAN}๏
-
bool _antiNeutrino = {false}๏
-
dtypes::deviceType _device๏
-
std::shared_ptr<BaseMatterSolver> _matterSolver๏
Private Functions
-
Tensor _calculateProbs(const MassSqTensor &masses, const MixingMatrixTensor &mixingMatrix)๏
-
inline Propagator &setAntiNeutrino(bool newValue)
-
class Propagator