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::ExternalData Class Reference

Main class. More...

#include <ExternalData.hh>

+ Inheritance diagram for Hammer::ExternalData:
+ Collaboration diagram for Hammer::ExternalData:

Public Member Functions

 ExternalData (const ProvidersRepo *provs)
 
 ExternalData (const ExternalData &other)=delete
 
ExternalDataoperator= (const ExternalData &other)=delete
 
 ExternalData (ExternalData &&other)=delete
 
ExternalDataoperator= (ExternalData &&other)=delete
 
virtual ~ExternalData () noexcept
 
virtual const TensorgetExternalVectors (std::string schemeName, LabelsList labels) const
 
virtual
MultiDimensional::SharedTensorData 
getWilsonCoefficients (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters={}, WTerm what=WTerm::NUMERATOR) const
 
virtual
MultiDimensional::SharedTensorData 
getWilsonCoefficients (AmplitudeBase *amp, WTerm what=WTerm::NUMERATOR) const
 
virtual
MultiDimensional::SharedTensorData 
getSpecializedWilsonCoefficients (AmplitudeBase *amp) const
 
void specializeWCInWeights (const std::string &prefixName, const std::map< std::string, std::complex< double >> &settings)
 
void specializeWCInWeights (const std::string &prefixName, const std::vector< std::complex< double >> &values)
 
void resetSpecializeWCInWeights (const std::string &prefixName)
 
bool isWCSpecialized (AmplitudeBase *ampl) const
 
void setWilsonCoefficients (const std::string &prefixName, const std::vector< std::complex< double >> &values, WTerm what=WTerm::NUMERATOR)
 
void setWilsonCoefficients (const std::string &prefixName, const std::map< std::string, std::complex< double >> &values, WTerm what=WTerm::NUMERATOR)
 
void setWilsonCoefficientsLocal (const std::string &prefixName, const std::vector< std::complex< double >> &values)
 
void setWilsonCoefficientsLocal (const std::string &prefixName, const std::map< std::string, std::complex< double >> &values)
 
void resetWilsonCoefficients (const std::string &prefixName, WTerm what=WTerm::NUMERATOR)
 
MultiDimensional::SharedTensorData getTempWilsonCoefficients (const std::string &prefixName, const std::vector< std::complex< double >> &values) const
 
MultiDimensional::SharedTensorData getTempWilsonCoefficients (const std::string &prefixName, const std::map< std::string, std::complex< double >> &values) const
 
virtual
MultiDimensional::SharedTensorData 
getFFEigenVectors (FormFactorBase *ff, const std::string &schemeName) const
 
void setFFEigenVectors (const FFPrefixGroup &process, const std::vector< double > &values)
 
void setFFEigenVectors (const FFPrefixGroup &process, const std::map< std::string, double > &values)
 
void setFFEigenVectorsLocal (const FFPrefixGroup &process, const std::vector< double > &values)
 
void setFFEigenVectorsLocal (const FFPrefixGroup &process, const std::map< std::string, double > &values)
 
void resetFFEigenVectors (const FFPrefixGroup &process)
 
MultiDimensional::SharedTensorData getTempFFEigenVectors (const FFPrefixGroup &process, const std::vector< double > &values) const
 
MultiDimensional::SharedTensorData getTempFFEigenVectors (const FFPrefixGroup &process, const std::map< std::string, double > &values) const
 
void init (std::vector< std::string > schemeNames)
 
- Public Member Functions inherited from Hammer::SettingsConsumer
virtual void setSettingsHandler (SettingsHandler &sh)
 set link to settings repository handler. More...
 
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 Types

using externalVectorsType = std::unordered_map< std::string, UMap< LabelsList, Tensor >>
 
using processWilsonCoefficientsType = std::map< IndexLabel, std::array< MultiDimensional::SharedTensorData, 2 >>
 
using processFFEigenVectorsType = std::map< IndexLabel, SchemeDict< MultiDimensional::SharedTensorData >>
 

Private Member Functions

void initWilsonCoefficients ()
 
void initFormFactorErrors ()
 
void initExternalVectors ()
 
virtual void defineSettings ()
 purely virtual function for a class to define new settings More...
 
LoggetLog () const
 

Private Attributes

boost::thread_specific_ptr
< processWilsonCoefficientsType
_processWilsonCoefficients
 
boost::thread_specific_ptr
< processFFEigenVectorsType
_processFFEigenVectors
 
boost::thread_specific_ptr
< externalVectorsType
_externalVectors
 
std::vector< std::string > _schemes
 
std::map< IndexLabel,
MultiDimensional::SharedTensorData
_processSpecializedWilsonCoefficients
 
std::map< std::string, bool > _isWCSpecializedDict {}
 
const ProvidersRepo_providers
 

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 44 of file ExternalData.hh.

Member Typedef Documentation

using Hammer::ExternalData::externalVectorsType = std::unordered_map<std::string, UMap<LabelsList, Tensor>>
private

Definition at line 186 of file ExternalData.hh.

Definition at line 187 of file ExternalData.hh.

Constructor & Destructor Documentation

Hammer::ExternalData::ExternalData ( const ProvidersRepo provs)

Definition at line 35 of file ExternalData.cc.

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

Definition at line 40 of file ExternalData.cc.

Member Function Documentation

void Hammer::ExternalData::defineSettings ( )
privatevirtual

purely virtual function for a class to define new settings

Implements Hammer::SettingsConsumer.

Definition at line 54 of file ExternalData.cc.

const Tensor & Hammer::ExternalData::getExternalVectors ( std::string  schemeName,
LabelsList  labels 
) const
virtual
Parameters
[in]schemeName
[in]labels
Returns

Definition at line 57 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getFFEigenVectors ( FormFactorBase ff,
const std::string &  schemeName 
) const
virtual
Parameters
[in]ff
[in]schemeName
Returns

Definition at line 303 of file ExternalData.cc.

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

Definition at line 502 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getSpecializedWilsonCoefficients ( AmplitudeBase amp) const
virtual
Parameters
[in]amp
Returns

Definition at line 122 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getTempFFEigenVectors ( const FFPrefixGroup process,
const std::vector< double > &  values 
) const

Definition at line 426 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getTempFFEigenVectors ( const FFPrefixGroup process,
const std::map< std::string, double > &  values 
) const

Definition at line 436 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getTempWilsonCoefficients ( const std::string &  prefixName,
const std::vector< std::complex< double >> &  values 
) const

Definition at line 282 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getTempWilsonCoefficients ( const std::string &  prefixName,
const std::map< std::string, std::complex< double >> &  values 
) const

Definition at line 292 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getWilsonCoefficients ( PdgId  parent,
const std::vector< PdgId > &  daughters,
const std::vector< PdgId > &  granddaughters = {},
WTerm  what = WTerm::NUMERATOR 
) const
virtual
Parameters
[in]parent
[in]daughters
[in]granddaughters
[in]what
Returns

Definition at line 99 of file ExternalData.cc.

MD::SharedTensorData Hammer::ExternalData::getWilsonCoefficients ( AmplitudeBase amp,
WTerm  what = WTerm::NUMERATOR 
) const
virtual
Parameters
[in]amp
[in]what
Returns

Definition at line 105 of file ExternalData.cc.

void Hammer::ExternalData::init ( std::vector< std::string >  schemeNames)

Definition at line 491 of file ExternalData.cc.

void Hammer::ExternalData::initExternalVectors ( )
private

Definition at line 482 of file ExternalData.cc.

void Hammer::ExternalData::initFormFactorErrors ( )
private

Definition at line 465 of file ExternalData.cc.

void Hammer::ExternalData::initWilsonCoefficients ( )
private

Definition at line 448 of file ExternalData.cc.

bool Hammer::ExternalData::isWCSpecialized ( AmplitudeBase ampl) const
Parameters
[in]ampl
Returns
bool

Definition at line 166 of file ExternalData.cc.

ExternalData& Hammer::ExternalData::operator= ( const ExternalData other)
delete
ExternalData& Hammer::ExternalData::operator= ( ExternalData &&  other)
delete
void Hammer::ExternalData::resetFFEigenVectors ( const FFPrefixGroup process)

Definition at line 404 of file ExternalData.cc.

void Hammer::ExternalData::resetSpecializeWCInWeights ( const std::string &  prefixName)
Parameters
[in]prefixName

Definition at line 157 of file ExternalData.cc.

void Hammer::ExternalData::resetWilsonCoefficients ( const std::string &  prefixName,
WTerm  what = WTerm::NUMERATOR 
)

Definition at line 254 of file ExternalData.cc.

void Hammer::ExternalData::setFFEigenVectors ( const FFPrefixGroup process,
const std::vector< double > &  values 
)
Parameters
[in]process
[in]values

Definition at line 316 of file ExternalData.cc.

void Hammer::ExternalData::setFFEigenVectors ( const FFPrefixGroup process,
const std::map< std::string, double > &  values 
)
Parameters
[in]process
[in]values

Definition at line 339 of file ExternalData.cc.

void Hammer::ExternalData::setFFEigenVectorsLocal ( const FFPrefixGroup process,
const std::vector< double > &  values 
)
Parameters
[in]process
[in]values

Definition at line 358 of file ExternalData.cc.

void Hammer::ExternalData::setFFEigenVectorsLocal ( const FFPrefixGroup process,
const std::map< std::string, double > &  values 
)
Parameters
[in]process
[in]values

Definition at line 382 of file ExternalData.cc.

void Hammer::ExternalData::setWilsonCoefficients ( const std::string &  prefixName,
const std::vector< std::complex< double >> &  values,
WTerm  what = WTerm::NUMERATOR 
)
Parameters
[in]prefixName
[in]values
[in]what

Definition at line 174 of file ExternalData.cc.

void Hammer::ExternalData::setWilsonCoefficients ( const std::string &  prefixName,
const std::map< std::string, std::complex< double >> &  values,
WTerm  what = WTerm::NUMERATOR 
)

Definition at line 198 of file ExternalData.cc.

void Hammer::ExternalData::setWilsonCoefficientsLocal ( const std::string &  prefixName,
const std::vector< std::complex< double >> &  values 
)
Parameters
[in]prefixName
[in]values

Definition at line 222 of file ExternalData.cc.

void Hammer::ExternalData::setWilsonCoefficientsLocal ( const std::string &  prefixName,
const std::map< std::string, std::complex< double >> &  values 
)

Definition at line 237 of file ExternalData.cc.

void Hammer::ExternalData::specializeWCInWeights ( const std::string &  prefixName,
const std::map< std::string, std::complex< double >> &  settings 
)
Parameters
[in]prefixName
[in]settings

Definition at line 130 of file ExternalData.cc.

void Hammer::ExternalData::specializeWCInWeights ( const std::string &  prefixName,
const std::vector< std::complex< double >> &  values 
)
Parameters
[in]prefixName
[in]values

Definition at line 141 of file ExternalData.cc.

Member Data Documentation

boost::thread_specific_ptr<externalVectorsType> Hammer::ExternalData::_externalVectors
mutableprivate

Definition at line 193 of file ExternalData.hh.

std::map<std::string, bool> Hammer::ExternalData::_isWCSpecializedDict {}
private

Definition at line 197 of file ExternalData.hh.

boost::thread_specific_ptr<processFFEigenVectorsType> Hammer::ExternalData::_processFFEigenVectors
mutableprivate

Definition at line 192 of file ExternalData.hh.

std::map<IndexLabel, MultiDimensional::SharedTensorData> Hammer::ExternalData::_processSpecializedWilsonCoefficients
private

Definition at line 196 of file ExternalData.hh.

boost::thread_specific_ptr<processWilsonCoefficientsType> Hammer::ExternalData::_processWilsonCoefficients
mutableprivate

Definition at line 191 of file ExternalData.hh.

const ProvidersRepo* Hammer::ExternalData::_providers
private

Definition at line 198 of file ExternalData.hh.

std::vector<std::string> Hammer::ExternalData::_schemes
private

Definition at line 195 of file ExternalData.hh.


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