Class nuTens::Propagator๏ƒ

class Propagator๏ƒ

Subclassed by nuTens::DPpropagator

Setters

inline Propagator &setAntiNeutrino(bool newValue)๏ƒ

Set whether we are dealing with anti-neutrinos.

Parameters:

newValue โ€“

inline virtual Propagator &setMatterSolver(const std::shared_ptr<BaseMatterSolver> &newSolver)๏ƒ

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