File const-density-solver.hpp๏ƒ

namespace nuTens
class ConstDensityMatterSolver : public nuTens::BaseMatterSolver

Unnamed Group

Tensor mixingMatrix๏ƒ
Tensor masses๏ƒ
Tensor diagMassMatrix๏ƒ
Tensor electronOuter๏ƒ
float density๏ƒ
inline float getDensity() const

Getters.

virtual void calculateEigenvalues(Tensor &eigenvectors, Tensor &eigenvalues) override

Calculate the hamiltonian eigenvalues and eigenvectors, i.e. the effective Mass^2 states and effective mixing matrix.

Parameters:
  • eigenvectors โ€“ [out] The returned eigenvectors

  • eigenvalues โ€“ [out] The corresponding eigenvalues

Tensor getElectronOuterProduct()

construct the outer product of the electron row of the mixing matrix, used in building the hamiltonian, and return a copy of it potentially useful for debugging

Tensor getHamiltonian()

construct the hamiltonian and return a copy of it potentially useful for debugging

void buildElectronOuterProduct()๏ƒ

construct the outer product of the electron neutrino row of the mixing matrix used to construct the hamiltonian

void buildHamiltonian()๏ƒ

Construct the hamiltonian.

Setters

inline virtual void setAntiNeutrino(bool newValue) override

Set whether we are dealing with anti-neutrinos.

Parameters:

newValue โ€“

inline virtual void setMixingMatrix(const Tensor &newMatrix) override

Set a new mixing matrix for this solver.

Parameters:

newMatrix โ€“ The new matrix to set

inline virtual void setMasses(const Tensor &newMasses) override

Set new mass eigenvalues for this solver.

Parameters:

newMasses โ€“ The new masses

inline void setDensity(float newDensity)

set a new density

Parameters:

newDensity โ€“ the new value

Public Functions

inline ConstDensityMatterSolver(int nGenerations, float density, bool antiNeutrino = false)

Constructor.

  • nGenerations The number of neutrino generations this propagator should expect

  • density The electron density of the material to propagate in

  • antiNeutrino True if we are calculating effects for anti-neutrinos