GENIEGenerator
Loading...
Searching...
No Matches
genie::utils::hnl Namespace Reference

Useful kinematic functions. More...

Functions

string ProdAsString (genie::hnl::HNLProd_t hnlprod)
string AsString (genie::hnl::HNLDecayMode_t hnldm)
bool IsProdKinematicallyAllowed (genie::hnl::HNLProd_t hnlprod)
bool IsKinematicallyAllowed (genie::hnl::HNLDecayMode_t hnldm, double Mhnl)
PDGCodeList ProductionProductList (genie::hnl::HNLProd_t hnldm)
PDGCodeList DecayProductList (genie::hnl::HNLDecayMode_t hnldm)
int GetCfgInt (string file_id, string set_name, string par_name)
std::vector< int > GetCfgIntVec (string file_id, string set_name, string par_name)
double GetCfgDouble (string file_id, string set_name, string par_name)
std::vector< double > GetCfgDoubleVec (string file_id, string set_name, string par_name)
bool GetCfgBool (string file_id, string set_name, string par_name)
std::vector< bool > GetCfgBoolVec (string file_id, string set_name, string par_name)
std::string GetCfgString (string file_id, string set_name, string par_name)
double MassX (double m1, double m2)
double Kallen (double x, double y, double z)
double SymmDiff (double x, double y)
double RhoFunc (double x, double y)

Detailed Description

Useful kinematic functions.

Author
John Plows komni.nosp@m.nos-.nosp@m.john..nosp@m.plow.nosp@m.s@phy.nosp@m.sics.nosp@m..ox.a.nosp@m.c.uk
Created:\n January 11th, 2022
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org

Function Documentation

◆ AsString()

◆ DecayProductList()

PDGCodeList genie::utils::hnl::DecayProductList ( genie::hnl::HNLDecayMode_t hnldm)

◆ GetCfgBool()

bool genie::utils::hnl::GetCfgBool ( string file_id,
string set_name,
string par_name )

◆ GetCfgBoolVec()

std::vector< bool > genie::utils::hnl::GetCfgBoolVec ( string file_id,
string set_name,
string par_name )

◆ GetCfgDouble()

double genie::utils::hnl::GetCfgDouble ( string file_id,
string set_name,
string par_name )

◆ GetCfgDoubleVec()

std::vector< double > genie::utils::hnl::GetCfgDoubleVec ( string file_id,
string set_name,
string par_name )

◆ GetCfgInt()

int genie::utils::hnl::GetCfgInt ( string file_id,
string set_name,
string par_name )

◆ GetCfgIntVec()

std::vector< int > genie::utils::hnl::GetCfgIntVec ( string file_id,
string set_name,
string par_name )

◆ GetCfgString()

std::string genie::utils::hnl::GetCfgString ( string file_id,
string set_name,
string par_name )

◆ IsKinematicallyAllowed()

bool genie::utils::hnl::IsKinematicallyAllowed ( genie::hnl::HNLDecayMode_t hnldm,
double Mhnl )

◆ IsProdKinematicallyAllowed()

◆ Kallen()

double genie::utils::hnl::Kallen ( double x,
double y,
double z )
inline

Definition at line 37 of file HNLKinUtils.h.

37 {
38 return x*x + y*y + z*z - 2. * ( x*y + y*z + z*x );
39 }

Referenced by genie::hnl::Decayer::CalcPolMag(), genie::hnl::Decayer::CalcPolMod(), genie::hnl::BRCalculator::DWidth_PiAndLepton(), and RhoFunc().

◆ MassX()

double genie::utils::hnl::MassX ( double m1,
double m2 )
inline

Definition at line 32 of file HNLKinUtils.h.

32 {
33 if( m2 <= 0. || m1 < 0.) { LOG( "HNL", pERROR ) << "Illegal masses m1 = " << m1 << ", m2 = " << m2; exit( 3 ); }
34 return m1 / m2;
35 }
#define pERROR
Definition Messenger.h:59
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96

References LOG, and pERROR.

Referenced by genie::hnl::BRCalculator::DWidth_DiffLepton(), genie::hnl::BRCalculator::DWidth_PiAndLepton(), genie::hnl::BRCalculator::DWidth_PiZeroAndNu(), genie::hnl::BRCalculator::DWidth_SameLepton(), and genie::hnl::BRCalculator::KScale_PseudoscalarToLepton().

◆ ProdAsString()

◆ ProductionProductList()

PDGCodeList genie::utils::hnl::ProductionProductList ( genie::hnl::HNLProd_t hnldm)

◆ RhoFunc()

double genie::utils::hnl::RhoFunc ( double x,
double y )
inline

Definition at line 45 of file HNLKinUtils.h.

45 {
46 return SymmDiff( x, y ) * std::sqrt( Kallen( 1, x, y ) );
47 }
double Kallen(double x, double y, double z)
Definition HNLKinUtils.h:37
double SymmDiff(double x, double y)
Definition HNLKinUtils.h:41

References Kallen(), and SymmDiff().

Referenced by genie::hnl::BRCalculator::KScale_PseudoscalarToLepton().

◆ SymmDiff()

double genie::utils::hnl::SymmDiff ( double x,
double y )
inline

Definition at line 41 of file HNLKinUtils.h.

41 {
42 return x + y - ( x-y ) * ( x-y );
43 }

Referenced by RhoFunc().