21 #ifndef yap_ParticleFactory_h
22 #define yap_ParticleFactory_h
24 #include "fwd/DecayingParticle.h"
25 #include "fwd/FinalStateParticle.h"
26 #include "fwd/MassShape.h"
27 #include "fwd/ParticleFactory.h"
28 #include "fwd/PhaseSpaceFactor.h"
29 #include "fwd/Resonance.h"
88 std::shared_ptr<FinalStateParticle>
fsp(
int PDG)
const;
94 std::shared_ptr<DecayingParticle>
decayingParticle(
int PDG,
double radialSize, std::shared_ptr<PhaseSpaceFactorFactory> phsp_factory = DefaultPHSPFactory)
const;
101 std::shared_ptr<Resonance>
resonance(
int PDG,
double radialSize, std::shared_ptr<MassShape> massShape, std::shared_ptr<PhaseSpaceFactorFactory> phsp_factory = DefaultPHSPFactory)
const;
117 {
return (*
this)[pdgCode(name)]; }
138 {
return std::insert_iterator<ParticleFactory>(F, F.
ParticleTable_.end()); }
143 int pdgCode(std::string name)
const;
std::vector< double > MassShapeParameters
further parameters of particle (implementation dependent)
Definition: ParticleFactory.h:65
ParticleTableMap ParticleTable_
maps PDGCodes to ParticleTableEntry's
Definition: ParticleFactory.h:150
friend std::insert_iterator< ParticleFactory > inserter(ParticleFactory &F)
#ParticleFactory's own inserter
Definition: ParticleFactory.h:137
std::shared_ptr< Resonance > resonance(int PDG, double radialSize, std::shared_ptr< MassShape > massShape, std::shared_ptr< PhaseSpaceFactorFactory > phsp_factory=DefaultPHSPFactory) const
Definition: ParticleFactory.cxx:54
Data container for storing particle information in database.
Definition: ParticleFactory.h:43
const QuantumNumbers & quantumNumbers(int PDG) const
Definition: ParticleFactory.h:121
int PDG
PDG code of particle.
Definition: ParticleFactory.h:56
Factory class for easy creation of Particle objects from PDG codes.
Definition: ParticleFactory.h:73
std::shared_ptr< DecayingParticle > decayingParticle(int PDG, double radialSize, std::shared_ptr< PhaseSpaceFactorFactory > phsp_factory=DefaultPHSPFactory) const
Definition: ParticleFactory.cxx:47
const ParticleTableEntry & operator[](std::string name) const
Definition: ParticleFactory.h:116
const ParticleTableEntry & operator[](int PDG) const
Definition: ParticleFactory.cxx:71
std::pair< ParticleTableMap::iterator, bool > insert(const ParticleTableEntry &entry)
Definition: ParticleFactory.cxx:80
ParticleFactory & operator+=(const ParticleFactory &rhs)
Definition: ParticleFactory.cxx:62
QuantumNumbers()
Definition: QuantumNumbers.h:60
std::shared_ptr< FinalStateParticle > fsp(int PDG) const
Definition: ParticleFactory.cxx:40
ParticleTableMap::iterator iterator
Definition: ParticleFactory.h:83
double Mass
Mass of particle.
Definition: ParticleFactory.h:62
ParticleTableEntry(int pdg=0, std::string name="", QuantumNumbers q=QuantumNumbers(), double mass=-1, std::vector< double > parameters={})
Definition: ParticleFactory.cxx:17
bool consistent() const override
Definition: ParticleFactory.cxx:27
std::string Name
Name of particle.
Definition: ParticleFactory.h:59
Quantum numbers of a Particle.
Definition: QuantumNumbers.h:35
const QuantumNumbers & quantumNumbers(std::string name) const
Definition: ParticleFactory.h:126