Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Hammer::ProvidersRepo Class Reference

Main class. More...

#include <ProvidersRepo.hh>

+ Inheritance diagram for Hammer::ProvidersRepo:
+ Collaboration diagram for Hammer::ProvidersRepo:

Public Member Functions

 ProvidersRepo (const SchemeDefinitions *schemeDefs)
 
 ProvidersRepo (const ProvidersRepo &other)=delete
 
ProvidersRepooperator= (const ProvidersRepo &other)=delete
 
 ProvidersRepo (ProvidersRepo &&other)=delete
 
ProvidersRepooperator= (ProvidersRepo &&other)=delete
 
virtual ~ProvidersRepo () noexcept
 
virtual void setSettingsHandler (SettingsHandler &sh)
 set link to settings repository handler. More...
 
void initialize ()
 
virtual AmplitudeBasegetAmplitude (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}) const
 
virtual RateBasegetRate (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
 
AmplitudeBasegetWCProvider (const std::string &wcPrefix) const
 
IndexLabel getWCLabel (const std::string &wcPrefix) const
 
std::map< IndexLabel,
AmplitudeBase * > 
getAllWCProviders () const
 
FormFactorBasegetFFErrProvider (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)
 
SettingsHandlergetSettingsHandler () 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...
 
SettingsConsumeroperator= (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...
 
LoggetLog () 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
LoggetLog () 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
 

Detailed Description

Main class.

Contains ...

Definition at line 38 of file ProvidersRepo.hh.

Constructor & Destructor Documentation

Hammer::ProvidersRepo::ProvidersRepo ( const SchemeDefinitions schemeDefs)

Definition at line 35 of file ProvidersRepo.cc.

Hammer::ProvidersRepo::ProvidersRepo ( const ProvidersRepo other)
delete
Hammer::ProvidersRepo::ProvidersRepo ( ProvidersRepo &&  other)
delete
Hammer::ProvidersRepo::~ProvidersRepo ( )
virtualnoexcept

Definition at line 43 of file ProvidersRepo.cc.

Member Function Documentation

bool Hammer::ProvidersRepo::checkFFPrefixAndGroup ( const FFPrefixGroup value) const

Definition at line 306 of file ProvidersRepo.cc.

void Hammer::ProvidersRepo::defineSettings ( )
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.

Parameters
[in]processId
[in]baseIndex
[in]newLabel
Returns

Definition at line 238 of file ProvidersRepo.cc.

void Hammer::ProvidersRepo::fixWCValues ( )
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.

AmplitudeBase * Hammer::ProvidersRepo::getAmplitude ( PdgId  parent,
const std::vector< PdgId > &  daughters,
const std::vector< PdgId > &  granddaughters = {} 
) const
virtual
Parameters
[in]parent
[in]daughters
[in]granddaughters
Returns

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.

vector< FormFactorBase * > Hammer::ProvidersRepo::getFormFactor ( HadronicUID  processId) const
virtual
Parameters
[in]processId
Returns

Definition at line 150 of file ProvidersRepo.cc.

Log & Hammer::ProvidersRepo::getLog ( ) const
private

Definition at line 250 of file ProvidersRepo.cc.

const double * Hammer::ProvidersRepo::getPartialWidth ( PdgId  parent,
const std::vector< PdgId > &  daughters,
const std::vector< PdgId > &  granddaughters = {} 
) const
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)

Parameters
[in]parent
[in]daughters
[in]granddaughters
Returns
pointer to partial width double

Definition at line 134 of file ProvidersRepo.cc.

RateBase * Hammer::ProvidersRepo::getRate ( PdgId  parent,
const std::vector< PdgId > &  daughters,
const std::vector< PdgId > &  granddaughters = {} 
) const
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)

Parameters
[in]parent
[in]daughters
[in]granddaughters
Returns
Pointer to the rate class

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.

void Hammer::ProvidersRepo::initializeFFErrs ( )
private

Definition at line 88 of file ProvidersRepo.cc.

void Hammer::ProvidersRepo::initializeWCs ( )
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.

ProvidersRepo& Hammer::ProvidersRepo::operator= ( const ProvidersRepo other)
delete
ProvidersRepo& Hammer::ProvidersRepo::operator= ( ProvidersRepo &&  other)
delete
const std::set< std::string > Hammer::ProvidersRepo::schemeNamesFromPrefixAndGroup ( const FFPrefixGroup value) const

Definition at line 302 of file ProvidersRepo.cc.

void Hammer::ProvidersRepo::setSettingsHandler ( SettingsHandler sh)
virtual

set link to settings repository handler.

Parameters
[in]shthe settings handler

Reimplemented from Hammer::SettingsConsumer.

Definition at line 57 of file ProvidersRepo.cc.

Member Data Documentation

AmplitudeIdDict<std::unique_ptr<AmplitudeBase> > Hammer::ProvidersRepo::_amplitudes
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.

FFPrefixGroupDict<std::pair<IndexLabel, FormFactorBase*> > Hammer::ProvidersRepo::_FFErrProviders
private

Definition at line 153 of file ProvidersRepo.hh.

HadronicIdDict<std::vector<std::unique_ptr<FormFactorBase> > > Hammer::ProvidersRepo::_formFactors
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.

VertexIdDict<double> Hammer::ProvidersRepo::_partialWidths
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.

VertexIdDict<std::unique_ptr<RateBase> > Hammer::ProvidersRepo::_rates
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.

const SchemeDefinitions* Hammer::ProvidersRepo::_schemeDefs
private

Definition at line 155 of file ProvidersRepo.hh.

FFPrefixGroupDict<std::set<std::string> > Hammer::ProvidersRepo::_schemeNamesFromPrefixGroup
private

Definition at line 150 of file ProvidersRepo.hh.

WCPrefixDict<std::pair<IndexLabel, AmplitudeBase*> > Hammer::ProvidersRepo::_WCProviders
private

Definition at line 152 of file ProvidersRepo.hh.


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