12 #ifndef HAMMER_TOOLS_ParticleData
13 #define HAMMER_TOOLS_ParticleData
69 void calcIds(
size_t numDaughters);
77 void addMasses(
const std::vector<PdgId>& ids);
105 const std::vector<double>&
masses()
const;
118 const std::vector<PdgId>& subDaughters = {});
124 const std::vector<PdgId>& granddaughters);
std::vector< PdgId > daughters
particle IDs of the (ordered) daughter (and granddaughter) particles.
PdgId parent
particle ID of the parent particle
Hammer data types declarations.
HashId id() const
returns the unique ID of the current decay signature
size_t numSignatures() const
returns the number of available signatures
bool checkValidSignature(PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters)
Decay signature information.
ParticleData()
default constructor
std::vector< double > masses
list of particle mass values parent + daughters (in the same order as the particle ID vector) ...
const std::vector< double > & masses() const
returns the particle masses of the current decay signature
void addMasses(const std::vector< PdgId > &ids)
appends the masses of a list of particles to the mass list
void calcIds(size_t numDaughters)
computes the unique IDs from the PDG codes
void addMass(PdgId id)
appends the mass of a particle to the mass list
std::vector< Particle > ParticleList
Pdg forward declarations.
HashId hadronicId() const
returns the hadronic unique ID (parent + hadronic daughters) of the current decay signature ...
HashId id
unique ID of the decay process
virtual bool setSignatureIndex(size_t idx=0)
select a specific signature to be the current signature
ParticleData & operator=(const ParticleData &other)=default
std::vector< Signature > _signatures
the list of signatures
size_t _signatureIndex
the index of the current signature
Forward declarations for particle class.
void addProcessSignature(PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &subDaughters={})
adds a signature to the list by specifying the particles PDG codes.
virtual void eval(const Particle &parent, const ParticleList &daughters, const ParticleList &references)=0
method to evaluate the object on a specific particle set
HashId hadronicId
unique ID of the hadronic part of the decay (parent + hadronic daughters) for form factor association...
PDG code process signature class.