decay_table.hpp
Go to the documentation of this file.
39 // Forward declaration of DecayTable entry class, for readability. Holds the info on all decays of a given particle. 49 DecayTable(str slha, const std::map<int, int>& PDG_map, int context = 0, bool force_SM_fermion_gauge_eigenstates = false); 53 DecayTable(const SLHAstruct&, const std::map<int, int>&, int context = 0, bool force_SM_fermion_gauge_eigenstates = false); 57 SLHAstruct getSLHAea(int SLHA_version, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 60 void writeSLHAfile(int SLHA_version, const str& filename, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 64 SLHAea::Block getSLHAea_block(int, std::pair<int,int>, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 65 SLHAea::Block getSLHAea_block(int, str, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 66 SLHAea::Block getSLHAea_block(int, str, int, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 122 static void construct_key(std::multiset< std::pair<int,int> >& key, str p1, int i1, Args... args) 132 Entry() : width_in_GeV(0.0), positive_error(0.0), negative_error(0.0), calculator(""), calculator_version(""), warnings(""), errors("") {} 134 Entry(double width) : width_in_GeV(width), calculator(""), calculator_version(""), warnings(""), errors("") {} 136 Entry(const SLHAea::Block&, int context = 0, bool force_SM_fermion_gauge_eigenstates = false, str calculator = "", str calculator_version = ""); 138 Entry(const SLHAea::Block&, SLHAea::Block::const_iterator, int context = 0, bool force_SM_fermion_gauge_eigenstates = false, 336 SLHAea::Block getSLHAea_block(int, str, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 337 SLHAea::Block getSLHAea_block(int, str, int, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; 338 SLHAea::Block getSLHAea_block(int, std::pair<int,int>, bool include_zero_bfs=false, const mass_es_pseudonyms& psn=mass_es_pseudonyms()) const; void set_BF(double BF, double error, std::pair< int, int > p1, Args... args) Definition: decay_table.hpp:154 DecayTable entry class. Holds the info on all decays of a given particle. Definition: decay_table.hpp:96 double BF(const std::vector< std::pair< int, int > > &) const Retrieve branching fraction for decay to a given final state. Definition: decay_table.cpp:359 SLHAea::Block getSLHAea_block(int, std::pair< int, int >, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const Output a decay table entry as an SLHAea DECAY block, using input parameter to identify the entry... Definition: decay_table.cpp:214 bool has_channel(std::pair< int, int > p1, Args... args) const Definition: decay_table.hpp:186 std::pair< double, double > BF_with_error(std::pair< int, int > p1, Args... args) const Retrieve branching fraction and error for decay to a given final state. Definition: decay_table.hpp:298 Entry & at(std::pair< int, int >) Get entry in decay table for a give particle, throwing an error if particle is absent. Definition: decay_table.cpp:513 double sum_BF() const Sum up the partial widths and return the result. Definition: decay_table.cpp:523 void writeSLHAfile(int SLHA_version, const str &filename, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const Output entire decay table as an SLHA file full of DECAY blocks. Definition: decay_table.cpp:151 Entry & operator()(std::pair< int, int >) Get entry in decay table for a given particle, adding the particle to the table if it is absent... Definition: decay_table.cpp:502 General small utility classes, typedefs, etc. void set_BF(double BF, double error, str p1, Args... args) Definition: decay_table.hpp:164 double BF_error(std::pair< int, int > p1, Args... args) const Retrieve branching fraction error for decay to a given final state. Definition: decay_table.hpp:257 void init(const SLHAea::Block &, int, bool force_SM_fermion_gauge_eigenstates=false) Initialise a DecayTable Entry using an SLHAea DECAY block. Definition: decay_table.cpp:258 std::map< std::pair< int, int >, Entry > particles The actual underlying map. Just iterate over this directly if you need to iterate over all particles ... Definition: decay_table.hpp:92 SLHAea::Block getSLHAea_block(int, str, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const Output this entry as an SLHAea DECAY block, using input parameter to identify the mother particle... Definition: decay_table.cpp:378 double BF(std::pair< int, int > p1, Args... args) const Definition: decay_table.hpp:216 Routines to help translate between SLHA2 sfermions and SLHA1 (or similar) sfermions. Definition: log_tags.hpp:38 double BF_error(str p1, Args... args) const Definition: decay_table.hpp:275 SLHAea::Coll SLHAstruct Less confusing name for SLHAea container class. Definition: slhaea_helpers.hpp:37 Nicer alias for SLHAea container class, and some convenient helper functions that add or retrieve the... std::pair< double, double > BF_with_error(str p1, Args... args) const Definition: decay_table.hpp:316 void check_particles_exist(std::multiset< std::pair< int, int > > &) const Make sure all particles listed in a set are actually known to the GAMBIT particle database... Definition: decay_table.cpp:288 static void construct_key(std::multiset< std::pair< int, int > > &key, str p1, Args... args) Templated version for long names. Definition: decay_table.hpp:115 str calculator_version Version of the code used for calculating this entry. Definition: decay_table.hpp:356 bool has_channel(const std::vector< std::pair< int, int > > &) const Check if a given final state exists in this DecayTable::Entry. Definition: decay_table.cpp:342 str calculator Name of the code (backend or otherwise) used for calculating this entry. Definition: decay_table.hpp:354 bool has_channel(str p1, Args... args) const Definition: decay_table.hpp:195 static void construct_key(std::multiset< std::pair< int, int > > &key, str p1, int i1, Args... args) Templated version for short names and indices. Definition: decay_table.hpp:122 Class definitions for GAMBIT particle database. Exception objects required for standalone compilation. static void construct_key(std::multiset< std::pair< int, int > > &) Construct a set of particles from a variadic list of full names or short names and indicesBase functi... Definition: decay_table.hpp:112 std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels The actual underlying map of channels to their BFs. Definition: decay_table.hpp:364 void check_BF_validity(double, double, std::multiset< std::pair< int, int > > &) const Make sure no NaNs have been passed to the DecayTable by nefarious backends. Definition: decay_table.cpp:304 SLHAstruct getSLHAea(int SLHA_version, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const Output entire decay table as an SLHAea file full of DECAY blocks. Definition: decay_table.cpp:162 void set_BF(double, double, const std::vector< std::pair< int, int > > &) Set branching fraction for decay to a given final state. Definition: decay_table.cpp:323 |