snorer.Neutrino¶
class
snorer.Neutrino(Tx,mx,psi)¶
Superclass: snorer.Kinematics
This class constructs the required neturino energy to have BDM with \((T_\chi,m_\chi,\psi)\). See Fig. 2 in BDM Physics. We have assumed neutrino mass \(m_\nu=0\).
Tx
: array_like
BDM kinetic energy \(T_\chi\), MeV
mx
: array_like
DM mass \(m_\chi\), MeV
psi
: array_like
Lab frame scattering angle \(\psi\), rad
Ev
: scalar/ndarray
The required neutrino energy \(E_\nu\) to boost DM with \(m_\chi\) to \(T_\chi\), MeV
dEv
: scalar/ndarray
The Jacobian \(dE_\nu/dT_\chi\), dimensionless
x
: scalar/ndarray
\(x:=\cos\psi \in [1,-1]\)
sanity
: bool/ndarray
Is the reaction physically plausible?True
for plausible andFalse
for physically impossible.
dLips
: scalar/ndarray
Value for differential Lorentz invariant phase space
Import snorer
and do
>>> import snorer as sn
>>> Tx,mx,psi = 15,1e-3,0.05 # BDM kinetic energy, mx, scattering angle
>>> snv = sn.Neutrino(Tx,mx,psi)
>>> snv.Ev # required Ev
-0.8451953159962898
>>> snv.dEv # Jacobian
0.0031707324661873464
>>> snv.sanity # is this physically possible?
False
This example is identical to the example conducted in snorer.Kinematics as snorer.Kinematics
is the superclass of snorer.Neutrino
. One understands that \(T_1=E_\nu\), \(T_2=T_\chi\), \(m_1=m_\nu=0\) and \(m_2=m_\chi\).