Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
Main class. More...
#include <ProvidersRepo.hh>
Public Member Functions | |
ProvidersRepo (const SchemeDefinitions *schemeDefs) | |
ProvidersRepo (const ProvidersRepo &other)=delete | |
ProvidersRepo & | operator= (const ProvidersRepo &other)=delete |
ProvidersRepo (ProvidersRepo &&other)=delete | |
ProvidersRepo & | operator= (ProvidersRepo &&other)=delete |
virtual | ~ProvidersRepo () noexcept |
virtual void | setSettingsHandler (SettingsHandler &sh) |
set link to settings repository handler. More... | |
void | initialize () |
virtual AmplitudeBase * | getAmplitude (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const |
virtual RateBase * | getRate (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const |
Obtains a rate class. More... | |
virtual const double * | getPartialWidth (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const |
Obtains a partial width. More... | |
virtual std::vector < FormFactorBase * > | getFormFactor (HadronicUID processId) const |
AmplitudeBase * | getWCProvider (const std::string &wcPrefix) const |
IndexLabel | getWCLabel (const std::string &wcPrefix) const |
std::map< IndexLabel, AmplitudeBase * > | getAllWCProviders () const |
FormFactorBase * | getFFErrProvider (const FFPrefixGroup &process) const |
IndexLabel | getFFErrLabel (const FFPrefixGroup &process) const |
std::map< IndexLabel, SchemeDict< FormFactorBase * > > | getAllFFErrProviders () const |
FFIndex | duplicateFormFactor (HadronicUID processId, FFIndex baseIndex, const std::string &newLabel) |
Clones a FF parametrization. More... | |
void | initPreSchemeDefs () |
void | initPostSchemeDefs () |
bool | checkFFPrefixAndGroup (const FFPrefixGroup &value) const |
const std::set< std::string > | schemeNamesFromPrefixAndGroup (const FFPrefixGroup &value) const |
HadronicIdDict< std::vector < std::string > > | getFFGroups () const |
Public Member Functions inherited from Hammer::SettingsConsumer | |
void | setSettingsHandler (const SettingsConsumer &other) |
SettingsHandler * | getSettingsHandler () const |
provide the pointer to the repository handler More... | |
WTerm | setWeightTerm (WTerm group) |
virtual void | addRefs () const |
SettingsConsumer () | |
base constructor More... | |
SettingsConsumer (const SettingsConsumer &)=default | |
default copy constructor More... | |
SettingsConsumer & | operator= (const SettingsConsumer &)=default |
virtual | ~SettingsConsumer () |
virtual destructor More... | |
Private Member Functions | |
void | fixWCValues () |
virtual void | defineSettings () |
purely virtual function for a class to define new settings More... | |
Log & | getLog () const |
void | initializeWCs () |
void | initializeFFErrs () |
Private Attributes | |
AmplitudeIdDict < std::unique_ptr < AmplitudeBase > > | _amplitudes |
Known amplitudes. More... | |
VertexIdDict< std::unique_ptr < RateBase > > | _rates |
Known rates. More... | |
HadronicIdDict< std::vector < std::unique_ptr < FormFactorBase > > > | _formFactors |
Known formfactors. More... | |
VertexIdDict< double > | _partialWidths |
Known partial widths. More... | |
FFPrefixGroupDict< std::set < std::string > > | _schemeNamesFromPrefixGroup |
WCPrefixDict< std::pair < IndexLabel, AmplitudeBase * > > | _WCProviders |
FFPrefixGroupDict< std::pair < IndexLabel, FormFactorBase * > > | _FFErrProviders |
const SchemeDefinitions * | _schemeDefs |
Additional Inherited Members | |
Protected Member Functions inherited from Hammer::SettingsConsumer | |
Log & | getLog () const |
logging facility More... | |
void | initSettings () |
void | setPath (const std::string &path) |
provide the basic path for the settings defined by this class, as in "<path>:<setting>" More... | |
template<typename T > | |
void | addSetting (const std::string &name, const T &defaultValue) |
template method to add a new setting More... | |
void | removeSetting (const std::string &name) |
template<typename T > | |
T * | getSetting (const std::string &name) const |
template method to return a setting defined by this class More... | |
template<typename T > | |
T * | getSetting (const std::string &otherPath, const std::string &name) const |
template method to return a setting defined by this class More... | |
bool | isOn (const std::string &name) const |
method to check a boolean setting defined by this class More... | |
bool | isOn (const std::string &otherPath, const std::string &name) const |
method to check a boolean setting by its name and path More... | |
template<typename T > | |
void | updateVectorOfSettings (const std::vector< T > &values, const std::vector< std::string > &names, const std::string &path="", WTerm group=WTerm::COMMON) |
template<typename T > | |
void | updateVectorOfSettings (const std::map< std::string, T > &values, const std::string &path="", WTerm group=WTerm::COMMON) |
Protected Attributes inherited from Hammer::SettingsConsumer | |
SettingsHandler * | _settingHandler |
pointer to the settings repository handler. More... | |
std::string | _settingPath |
path of the settings defined by this class More... | |
WTerm | _group |
std::set< std::string > | _ownedSettings |
Hammer::ProvidersRepo::ProvidersRepo | ( | const SchemeDefinitions * | schemeDefs | ) |
Definition at line 35 of file ProvidersRepo.cc.
|
delete |
|
delete |
|
virtualnoexcept |
Definition at line 43 of file ProvidersRepo.cc.
bool Hammer::ProvidersRepo::checkFFPrefixAndGroup | ( | const FFPrefixGroup & | value | ) | const |
Definition at line 306 of file ProvidersRepo.cc.
|
privatevirtual |
purely virtual function for a class to define new settings
Implements Hammer::SettingsConsumer.
Definition at line 54 of file ProvidersRepo.cc.
FFIndex Hammer::ProvidersRepo::duplicateFormFactor | ( | HadronicUID | processId, |
FFIndex | baseIndex, | ||
const std::string & | newLabel | ||
) |
Clones a FF parametrization.
[in] | processId | |
[in] | baseIndex | |
[in] | newLabel |
Definition at line 238 of file ProvidersRepo.cc.
|
private |
Definition at line 254 of file ProvidersRepo.cc.
std::map< IndexLabel, SchemeDict< FormFactorBase * > > Hammer::ProvidersRepo::getAllFFErrProviders | ( | ) | const |
Definition at line 342 of file ProvidersRepo.cc.
map< IndexLabel, AmplitudeBase * > Hammer::ProvidersRepo::getAllWCProviders | ( | ) | const |
Definition at line 325 of file ProvidersRepo.cc.
|
virtual |
[in] | parent | |
[in] | daughters | |
[in] | granddaughters |
Definition at line 101 of file ProvidersRepo.cc.
IndexLabel Hammer::ProvidersRepo::getFFErrLabel | ( | const FFPrefixGroup & | process | ) | const |
Definition at line 337 of file ProvidersRepo.cc.
FormFactorBase * Hammer::ProvidersRepo::getFFErrProvider | ( | const FFPrefixGroup & | process | ) | const |
Definition at line 333 of file ProvidersRepo.cc.
map< HashId, vector< string > > Hammer::ProvidersRepo::getFFGroups | ( | ) | const |
Definition at line 172 of file ProvidersRepo.cc.
|
virtual |
|
private |
Definition at line 250 of file ProvidersRepo.cc.
|
virtual |
Obtains a partial width.
Extracts the pointer to the tensor from the container _partialWidths, corresponding to the HashId of the parent plus daughters (and granddaughters if any)
[in] | parent | |
[in] | daughters | |
[in] | granddaughters |
Definition at line 134 of file ProvidersRepo.cc.
|
virtual |
Obtains a rate class.
Extracts the pointer to the rate class from the container _rates, corresponding to the HashId of the parent plus daughters (and granddaughters if any)
[in] | parent | |
[in] | daughters | |
[in] | granddaughters |
Definition at line 118 of file ProvidersRepo.cc.
IndexLabel Hammer::ProvidersRepo::getWCLabel | ( | const std::string & | wcPrefix | ) | const |
Definition at line 321 of file ProvidersRepo.cc.
AmplitudeBase * Hammer::ProvidersRepo::getWCProvider | ( | const std::string & | wcPrefix | ) | const |
Definition at line 317 of file ProvidersRepo.cc.
void Hammer::ProvidersRepo::initialize | ( | ) |
Definition at line 72 of file ProvidersRepo.cc.
|
private |
Definition at line 88 of file ProvidersRepo.cc.
|
private |
Definition at line 77 of file ProvidersRepo.cc.
void Hammer::ProvidersRepo::initPostSchemeDefs | ( | ) |
Definition at line 218 of file ProvidersRepo.cc.
void Hammer::ProvidersRepo::initPreSchemeDefs | ( | ) |
Definition at line 185 of file ProvidersRepo.cc.
|
delete |
|
delete |
const std::set< std::string > Hammer::ProvidersRepo::schemeNamesFromPrefixAndGroup | ( | const FFPrefixGroup & | value | ) | const |
Definition at line 302 of file ProvidersRepo.cc.
|
virtual |
set link to settings repository handler.
[in] | sh | the settings handler |
Reimplemented from Hammer::SettingsConsumer.
Definition at line 57 of file ProvidersRepo.cc.
|
private |
Known amplitudes.
A map {HashId (parent, daughters (and granddaughters)), amplitude class pointer} for all amplitudes known to hammer
Definition at line 139 of file ProvidersRepo.hh.
|
private |
Definition at line 153 of file ProvidersRepo.hh.
|
private |
Known formfactors.
A map {HashId hadronicId(), vector of FF class pointers} for all FFs known to hammer
Definition at line 145 of file ProvidersRepo.hh.
|
private |
Known partial widths.
A map {HashId (parent, daughters), tensor pointer} for all partial widths known to hammer
Definition at line 148 of file ProvidersRepo.hh.
|
private |
Known rates.
A map {HashId (parent, daughters), rate class pointer} for all rates known to hammer
Definition at line 142 of file ProvidersRepo.hh.
|
private |
Definition at line 155 of file ProvidersRepo.hh.
|
private |
Definition at line 150 of file ProvidersRepo.hh.
|
private |
Definition at line 152 of file ProvidersRepo.hh.