12 #ifndef HAMMER_AMPLITUDE_BASE
13 #define HAMMER_AMPLITUDE_BASE
57 std::vector<std::complex<double>>
getWCVectorFromDict(
const std::map<std::string, std::complex<double>>& wcDict)
const;
71 std::pair<std::string, IndexLabel>
getWCInfo()
const;
AmplitudeBase & operator=(const AmplitudeBase &other)=delete
Base class for amplitudes.
Hammer data types declarations.
virtual ~AmplitudeBase() noexcept=default
std::pair< std::string, IndexLabel > getWCInfo() const
std::vector< std::complex< double > > getWCVectorFromDict(const std::map< std::string, std::complex< double >> &wcDict) const
virtual void eval(const Particle &parent, const ParticleList &daughters, const ParticleList &references)=0
method to evaluate the object on a specific particle set
Hammer decay PDG code management.
Message logging routines.
virtual void defineSettings()=0
defines new settings for this class
std::vector< Tensor > _tensorList
list of (list of) labels for the tensor indices (one for each signature)
Base class to access the settings repository.
std::shared_ptr< IContainer > SharedTensorData
std::vector< std::complex< double > > getWCVectorFromSettings(WTerm what) const
std::vector< Particle > ParticleList
IndexLabel
label identifiers of tensor indices they are used to determine which indices can be contracted togeth...
virtual bool setSignatureIndex(size_t idx=0)
select a specific signature to be the current signature
Multidimensional tensor class with complex numbers as elements.
std::vector< std::string > _WCNames
Base class for accessing Hammer settings repository.
void updateWCTensor(std::vector< std::complex< double >> values, MultiDimensional::SharedTensorData &data) const
virtual void preProcessWCValues(std::vector< std::complex< double >> &data) const
virtual void updateWilsonCeffLabelPrefix()
Forward declarations for particle class.
void init()
initializes the amplitude (defines settings associated to this amplitude, etc.)
size_t multiplicityFactor() const
void updateWCSettings(const std::vector< std::complex< double >> &values, WTerm what)
void addTensor(Tensor &&tensor)
adds the index labels for the amplitude tensor for a specific signature to the index labels signature...
Log & getLog() const
logging facility
Tensor & getTensor()
returns a reference to itself as a Tensor
PDG code process signature class.