12 #ifndef HAMMER_FORMFACTOR_BASE
13 #define HAMMER_FORMFACTOR_BASE
59 virtual std::unique_ptr<FormFactorBase>
clone(
const std::string& label) = 0;
75 std::pair<FFPrefixGroup, IndexLabel>
getFFErrInfo()
const;
95 const std::string&
group()
const;
108 virtual void evalAtPSPoint(
const std::vector<double>& point,
const std::vector<double>&
masses = {}) = 0;
112 void setGroup(
const std::string& name);
120 void setUnits(
const std::string& name);
149 #define MAKE_CLONE(OBJ, LABEL) \
151 unique_ptr<FormFactorBase> result; \
152 OBJ* tmp = new OBJ(*this); \
153 if (tmp != nullptr) { \
154 tmp->setGroup(tmp->group() + "_" + LABEL); \
Hammer numerical integration forward declarations.
Hammer decay PDG code management.
Message logging routines.
Base class to access the settings repository.
std::shared_ptr< IContainer > SharedTensorData
const std::vector< double > & masses() const
returns the particle masses of the current decay signature
std::vector< Particle > ParticleList
IndexLabel
label identifiers of tensor indices they are used to determine which indices can be contracted togeth...
Multidimensional tensor class with complex numbers as elements.
Base class for accessing Hammer settings repository.
std::vector< std::vector< double >> EvaluationGrid
PDG code process signature class.