GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
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:
January 11th, 2022
License:
Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org

Function Documentation

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

Definition at line 37 of file HNLKinUtils.h.

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

37  {
38  return x*x + y*y + z*z - 2. * ( x*y + y*z + z*x );
39  }
double genie::utils::hnl::MassX ( double  m1,
double  m2 
)
inline

Definition at line 32 of file HNLKinUtils.h.

References LOG, genie::units::m2, 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().

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
static constexpr double m2
Definition: Units.h:72
string genie::utils::hnl::ProdAsString ( genie::hnl::HNLProd_t  hnlprod)
PDGCodeList genie::utils::hnl::ProductionProductList ( genie::hnl::HNLProd_t  hnldm)
double genie::utils::hnl::RhoFunc ( double  x,
double  y 
)
inline

Definition at line 45 of file HNLKinUtils.h.

References Kallen(), and SymmDiff().

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

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

Definition at line 41 of file HNLKinUtils.h.

Referenced by RhoFunc().

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