gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
Gambit::DarkBit::TH_Process Struct Reference

A container for a single process. More...

#include <ProcessCatalog.hpp>

Collaboration diagram for Gambit::DarkBit::TH_Process:

Public Member Functions

 TH_Process (const str &particle1ID)
 Constructor for decay process. More...
 
 TH_Process (const str &particle1ID, const str &particle2ID)
 Constructor for annihilation process. More...
 
bool isProcess (const str &, const str &=std::string()) const
 Compare initial states. More...
 
const TH_Channelfind (std::vector< str >) const
 Check for given channel. Return a pointer to it if found, NULL if not. More...
 

Public Attributes

bool isAnnihilation
 Annihilation or decay? More...
 
bool isSelfConj
 Does the process contain self-conjugate DM? (accounting for correct factors of 1/2 in annihilation spectra) More...
 
std::vector< TH_ChannelchannelList
 List of channels. More...
 
TH_resonances_thresholds resonances_thresholds
 List of resonances and thresholds. More...
 
daFunk::Funk genRateMisc
 Additional decay rate or sigmav (in addition to above channels) More...
 
str particle1ID
 Decaying particle or particle pair. More...
 
str particle2ID
 

Detailed Description

A container for a single process.

Contains all channels for decay of a single particle, or for annihilation of a specific pair of particles. That is, TH_Process groups channels together according to initial states, e.g. chi –> everything, chi chi –> everything.

Definition at line 121 of file ProcessCatalog.hpp.

Constructor & Destructor Documentation

◆ TH_Process() [1/2]

Gambit::DarkBit::TH_Process::TH_Process ( const str particle1ID)

Constructor for decay process.

Definition at line 93 of file ProcessCatalog.cpp.

94  : isAnnihilation (false),
96  particle2ID (""),
98  {}
daFunk::Funk genRateMisc
Additional decay rate or sigmav (in addition to above channels)
bool isAnnihilation
Annihilation or decay?
Funk zero(Args... argss)
Definition: daFunk.hpp:604
str particle1ID
Decaying particle or particle pair.

◆ TH_Process() [2/2]

Gambit::DarkBit::TH_Process::TH_Process ( const str particle1ID,
const str particle2ID 
)

Constructor for annihilation process.

Definition at line 101 of file ProcessCatalog.cpp.

References Gambit::DarkBit::DarkBit_error(), and LOCAL_INFO.

102  : isAnnihilation (true),
106  {
107  if (particle1ID.compare(particle2ID) > 0)
108  {
109  DarkBit_error().raise(LOCAL_INFO,
110  "Particle identifiers should be in alphabetical order.");
111  }
112  }
error & DarkBit_error()
#define LOCAL_INFO
Definition: local_info.hpp:34
daFunk::Funk genRateMisc
Additional decay rate or sigmav (in addition to above channels)
bool isAnnihilation
Annihilation or decay?
Funk zero(Args... argss)
Definition: daFunk.hpp:604
str particle1ID
Decaying particle or particle pair.
Here is the call graph for this function:

Member Function Documentation

◆ find()

const TH_Channel * Gambit::DarkBit::TH_Process::find ( std::vector< str final_states) const

Check for given channel. Return a pointer to it if found, NULL if not.

Definition at line 123 of file ProcessCatalog.cpp.

References channelList.

Referenced by Gambit::DarkBit::DM_process_from_ProcessCatalog(), Gambit::DarkBit::equilibration_time_Sun(), Gambit::DarkBit::GA_AnnYield_General(), Gambit::DarkBit::GA_DecayYield_General(), Gambit::DarkBit::TH_ProcessCatalog::getProcess(), and Gambit::DarkBit::nuyield_from_DS().

124  {
125  for (auto it = channelList.begin(); it != channelList.end(); ++it)
126  {
127  if (it->isChannel(final_states)) return &(*it);
128  }
129  return NULL;
130  }
std::vector< TH_Channel > channelList
List of channels.
Here is the caller graph for this function:

◆ isProcess()

bool Gambit::DarkBit::TH_Process::isProcess ( const str p1,
const str p2 = std::string() 
) const

Compare initial states.

Definition at line 115 of file ProcessCatalog.cpp.

References particle1ID, and particle2ID.

Referenced by Gambit::DarkBit::TH_ProcessCatalog::find().

116  {
117  sspair candidate_process(p1, p2);
118  sspair this_process(this->particle1ID, this->particle2ID);
119  return candidate_process == this_process;
120  }
std::pair< str, str > sspair
Shorthand for a pair of standard strings.
Definition: util_types.hpp:64
str particle1ID
Decaying particle or particle pair.
Here is the caller graph for this function:

Member Data Documentation

◆ channelList

◆ genRateMisc

daFunk::Funk Gambit::DarkBit::TH_Process::genRateMisc

Additional decay rate or sigmav (in addition to above channels)

Definition at line 159 of file ProcessCatalog.hpp.

Referenced by Gambit::DarkBit::DEF_FUNKTRAIT(), Gambit::DarkBit::equilibration_time_Sun(), Gambit::DarkBit::DarkBit_utils::ImportDecays(), and Gambit::DarkBit::sigmav_late_universe().

◆ isAnnihilation

bool Gambit::DarkBit::TH_Process::isAnnihilation

Annihilation or decay?

Definition at line 141 of file ProcessCatalog.hpp.

Referenced by Gambit::DarkBit::getYield().

◆ isSelfConj

◆ particle1ID

str Gambit::DarkBit::TH_Process::particle1ID

Decaying particle or particle pair.

Definition at line 145 of file ProcessCatalog.hpp.

Referenced by isProcess().

◆ particle2ID

str Gambit::DarkBit::TH_Process::particle2ID

Definition at line 146 of file ProcessCatalog.hpp.

Referenced by isProcess().

◆ resonances_thresholds


The documentation for this struct was generated from the following files: