subspectrum.cpp
Go to the documentation of this file.
102 return has( partype, Models::ParticleDB().long_name(pdgpr), check_overrides, check_antiparticle ); 111 return get( partype, Models::ParticleDB().long_name(pdgpr), check_overrides, check_antiparticle ); 223 // SafeBool(false) set so we don't match on antiparticle; if anti-particle entry exists, need to convert to and set that override instead. 225 std::cout << "set_override "<<name<<" called (allow_new="<<allow_new<<", decouple="<<decouple<<"): checking zero index maps" << std::endl; 247 std::cout << "Found in one index override map with short name '"<<p.first<<","<<p.second<<"'; override added"<< std::endl; 269 errmsg << "Options 'decouple=true' and 'allow_new=false' set simultaneously, but this doesn't make sense. If you might be decoupling particle/antiparticle values for the first time then you *must* also set 'allow_new'." << std::endl; 290 std::cout << "Checking for antiparticle entry '"<<antiname<<"' in zero index override map"<< std::endl; 297 std::cout << "Found entry under antiparticle name '"<<antiname<<"' in zero index override map. Override added."<< std::endl; 303 std::cout << "Checking for entry under short antiparticle name + index in one index override map."<< std::endl; 311 std::cout << "Found entry under short antiparticle name + index in one index override map. Override added."<< std::endl; 321 std::cout << "No antiparticle match found, but 'allow_new'="<<allow_new<<", so adding entry to zero index override map." << std::endl; 332 std::cout << "Antiparticle doesn't exist, but 'allow_new'="<<allow_new<<", so adding entry to zero index override map." << std::endl; 339 errmsg << "No "<<Par::toString.at(partype)<<" with string reference '"<<name<<"' exists in the wrapped spectrum" <<std::endl; 340 errmsg << "If you intended to add this value to the spectrum without overriding anything, please call this function with the optional 'allow_new' boolean parameter set to 'true'. It can then be later retrieved using the normal getters with the same name used here." << std::endl; 352 errmsg << "No "<<Par::toString.at(partype)<<" with string reference '"<<name<<"' exists in the wrapped spectrum!" <<std::endl; 353 errmsg << "If you intended to add this value to the spectrum without overriding anything, please call this function with the optional 'allow_new' boolean parameter set to 'true'. It can then be later retrieved using the normal getters with the same name used here." << std::endl; 377 if( has(partype,name,i,use_overrides,SafeBool(false)) ) // Don't match anti-particle; will check that if other matching fails 406 errmsg << "Options 'decouple=true' and 'allow_new=false' set simultaneously, but this doesn't make sense. If you might be decoupling particle/antiparticle values for the first time then you *must* also set 'allow_new'." << std::endl; 418 if( has(partype,antiname,i,use_overrides,SafeBool(false)) ) // Don't match anti-particle; will check that if other matching fails 450 errmsg << "No "<<Par::toString.at(partype)<<" with string reference '"<<name<<"' exists in the wrapped spectrum" <<std::endl; 451 errmsg << "If you intended to add this value to the spectrum without overriding anything, please call this function with the optional 'allow_new' boolean parameter set to 'true'. It can then be later retrieved using the normal getters with the same name used here." << std::endl; 463 errmsg << "No "<<Par::toString.at(partype)<<" with string reference '"<<name<<"' exists in the wrapped spectrum!" <<std::endl; 464 errmsg << "If you intended to add this value to the spectrum without overriding anything, please call this function with the optional 'allow_new' boolean parameter set to 'true'. It can then be later retrieved using the normal getters with the same name used here." << std::endl; 477 errmsg << "No "<<Par::toString.at(partype)<<" with string reference '"<<name<<"' and indices '"<<i<<","<<j<<"' exists in the wrapped spectrum!" <<std::endl; 478 errmsg << "If you intended to add this value to the spectrum without overriding anything, please call this function with the optional 'allow_new' boolean parameter set to 'false'. It can then be later retrieved using the normal getters with the same name used here." << std::endl; 487 void SubSpectrum::set_override(const Par::Tags partype, const double value, const std::pair<str,int> shortpr, const bool allow_new, const bool decouple) 493 void SubSpectrum::set_override(const Par::Tags partype, const double value, const int PDGcode, const int context, const bool allow_new, const bool decouple) 498 void SubSpectrum::set_override(const Par::Tags partype, const double value, const std::pair<int,int> pdgpr, const bool allow_new, const bool decouple) 503 return set_override(partype, value, Models::ParticleDB().short_name_pair(pdgpr), allow_new, decouple); 507 return set_override(partype, value, Models::ParticleDB().long_name(pdgpr), allow_new, decouple); 516 void SubSpectrum::set_override_vector(const Par::Tags tag, const double value, const std::vector<str>& params, const bool allow_new, const bool decouple) 525 void SubSpectrum::set_override_vector(const Par::Tags tag, const double value, const std::vector<str>& params, const std::vector<int> indices, const bool allow_new, const bool decouple) 536 void SubSpectrum::set_override_vector(const Par::Tags tag, const double value, const std::vector<str>& params, const int i, const bool allow_new, const bool decouple) 543 void SubSpectrum::set_override_vector(const Par::Tags tag, const double value, const str& par, const std::vector<int> indices, const bool allow_new, const bool decouple) 557 msg << "RGE running requested outside hard limits! This is forbidden with behave=1. Set behave=0 (default) to automatically stop running at soft limits, or behave=2 to force running to requested scale (may trigger errors from underlying RGE code!)." << std::endl; 568 msg << "RGE running requested outside hard limits, but within soft limits! The soft limits should always be within the hard limits, so this is a bug in the derived SubSpectrum object being accessed. I cannot tell you which class this is though; check the dependency graph to see which ones are being created, and if necessary consult your debugger." << std::endl; 580 msg << "RGE running requested outside soft limits! Accuracy may be low. Note: Set behave=2 to suppress this warning, or behave=0 (default) to automatically stop running when soft limit is hit." << std::endl; Mini helper class to specify behaviour of getters w.r.t. overrides in a type-safe way... Definition: spectrum_helpers.hpp:97 void RunToScale(double scale, const int behave=0) Run spectrum to a new scale This function is a wrapper for RunToScaleOverride which automatically che... Definition: subspectrum.cpp:550 std::pair< str, int > short_name_pair(str) const Retrieve the short name and index, from the long name. Definition: partmap.cpp:155 virtual void add_to_SLHAea(int, SLHAstruct &) const Add spectrum information to an SLHAea object (if possible) Definition: subspectrum.hpp:111 void add_MODSEL_disclaimer(SLHAstruct &slha, const str &object) Add a disclaimer about the absence of a MODSEL block in a generated SLHAea object. Definition: mssm_slhahelp.cpp:75 Definition: safebool.hpp:37 str long_name(str, int) const Retrieve the long name, from the short name and index. Definition: partmap.cpp:124 virtual void writeSLHAfile(int, const str &) const Dump out spectrum information to an SLHA file (if possible) Definition: subspectrum.cpp:40 Routines to help translate between SLHA2 sfermions and SLHA1 (or similar) sfermions. virtual SLHAstruct getSLHAea(int) const Get spectrum information in SLHAea format (if possible) Definition: subspectrum.cpp:56 void set_override_vector(const Par::Tags, const double, const std::vector< str > &, const bool allow_new=false, const bool decouple=false) Vector override functions. Definition: subspectrum.cpp:516 SubSpectrum helper class for seaching through the function pointer maps and calling the requested fun... bool has_antiparticle(str) const Check if a particle has a matching anti-particle in the database, using the long name. Definition: partmap.cpp:277 str get_antiparticle(str) const Get the matching anti-particle long name for a particle in the database, using the long name... Definition: partmap.cpp:239 SLHAea::Coll SLHAstruct Less confusing name for SLHAea container class. Definition: slhaea_helpers.hpp:41 bool has_particle(str) const Check if a particle is in the database, using the long name. Definition: partmap.cpp:205 virtual double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0 EXPORT_SYMBOLS warning & utils_warning() Utility warnings. Definition: standalone_error_handlers.cpp:34 double safeget(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const safeget functions, by Abram Definition: subspectrum.cpp:136 Abstract class for accessing general spectrum information. void set_override(const Par::Tags, const double, const str &, const bool allow_new=false, const bool decouple=false) Parameter override functions. Definition: subspectrum.cpp:205 std::map< Par::Tags, OverrideMaps > override_maps Map of override maps. Definition: subspectrum.hpp:268 virtual double hard_upper() const Limits to RGE running; warning/error raised if running beyond these is attempted. ... Definition: subspectrum.hpp:122 virtual bool has(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0 Getters/Setters etc. static std::map< Par::Tags, OverrideMaps > create_override_maps() Initialiser function for override_maps. Definition: subspectrum.cpp:65 |