12 #ifndef HAMMER_PROVIDERSREPO_HH
13 #define HAMMER_PROVIDERSREPO_HH
31 class SchemeDefinitions;
62 const std::vector<PdgId>& granddaughters = {})
const;
72 const std::vector<PdgId>& granddaughters = {})
const;
81 const std::vector<PdgId>& granddaughters = {})
const;
std::map< IndexLabel, AmplitudeBase * > getAllWCProviders() const
ProvidersRepo & operator=(const ProvidersRepo &other)=delete
WCPrefixDict< std::pair< IndexLabel, AmplitudeBase * > > _WCProviders
Base class for amplitudes.
Hammer data types declarations.
bool checkFFPrefixAndGroup(const FFPrefixGroup &value) const
std::map< IndexLabel, SchemeDict< FormFactorBase * > > getAllFFErrProviders() const
VertexIdDict< double > _partialWidths
Known partial widths.
FFIndex duplicateFormFactor(HadronicUID processId, FFIndex baseIndex, const std::string &newLabel)
Clones a FF parametrization.
AmplitudeIdDict< std::unique_ptr< AmplitudeBase > > _amplitudes
Known amplitudes.
HadronicIdDict< std::vector< std::string > > getFFGroups() const
FFPrefixGroupDict< std::set< std::string > > _schemeNamesFromPrefixGroup
const SchemeDefinitions * _schemeDefs
std::map< HadronicUID, T > HadronicIdDict
std::map< VertexUID, T > VertexIdDict
std::map< std::string, T > WCPrefixDict
IndexLabel getWCLabel(const std::string &wcPrefix) const
virtual std::vector< FormFactorBase * > getFormFactor(HadronicUID processId) const
Base class to access the settings repository.
Forward declarations of types used in the tensor classes.
virtual AmplitudeBase * getAmplitude(PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const
virtual ~ProvidersRepo() noexcept
Pdg forward declarations.
virtual RateBase * getRate(PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const
Obtains a rate class.
virtual void setSettingsHandler(SettingsHandler &sh)
set link to settings repository handler.
virtual const double * getPartialWidth(PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const
Obtains a partial width.
IndexLabel getFFErrLabel(const FFPrefixGroup &process) const
IndexLabel
label identifiers of tensor indices they are used to determine which indices can be contracted togeth...
Base class for accessing Hammer settings repository.
ProvidersRepo(const SchemeDefinitions *schemeDefs)
std::map< FFPrefixGroup, T > FFPrefixGroupDict
void initPostSchemeDefs()
Hammer settings manager class.
FormFactorBase * getFFErrProvider(const FFPrefixGroup &process) const
HadronicIdDict< std::vector< std::unique_ptr< FormFactorBase > > > _formFactors
Known formfactors.
AmplitudeBase * getWCProvider(const std::string &wcPrefix) const
virtual void defineSettings()
purely virtual function for a class to define new settings
VertexIdDict< std::unique_ptr< RateBase > > _rates
Known rates.
Hammer settings manager class.
const std::set< std::string > schemeNamesFromPrefixAndGroup(const FFPrefixGroup &value) const
FFPrefixGroupDict< std::pair< IndexLabel, FormFactorBase * > > _FFErrProviders
std::map< AmplitudeUID, T > AmplitudeIdDict