1 #ifndef PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H 2 #define PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H 101 double tlife,
const std::string& evtName,
int pythiaId,
double maxWidth )
override;
161 "Filename of the particle properties file"};
164 this,
"Particles", {},
"properties to be redefined explicitly"};
bool diff(const ParticleProperty *o, const ParticleProperty *n, const MSG::Level l=MSG::DEBUG) const
StatusCode rebuild()
rebuild "the linear container" from the map
VectPP::iterator iterator
int size() const override
Get the container size.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Implementation of property with value of concrete type.
This service provides access to particle properties.
StatusCode eraseByStdHepID(int stdHepId) override
Erase a property by StdHep id ???
VectPP::const_iterator const_iterator
A trivial class to hold information about a single particle properties.
StatusCode erase(int geantId) override
Erase a property by geant3 id.
ParticleProperty * findByPythiaID(int pythiaID) override
Retrieve a property by Pythia id.
StatusCode finalize() override
Finalise the service.
std::vector< ParticleProperty * > VectPP
StatusCode initialize() override
Initialise the service.
MapName m_namemap
Map for particle names.
StatusCode parse()
Parses the file and fill all the maps.
ParticleProperty * find(const std::string &name) override
Retrieve a property by particle name.
SmartIF< IFileAccess > m_fileAccess
StatusCode push_back(const std::string &particle, int geantId, int jetsetId, double charge, double mass, double tlife, const std::string &evtName, int pythiaId, double maxWidth) override
Create a new particle property.
const std::string & name() const override
Retrieve name of the service.
std::map< int, mapped_type > MapStdHepID
std::set< std::string > m_replaced
const ParticleProperty * anti(const ParticleProperty *pp) const
helper (protected) function to find an antiparticle for the given particle ID (StdHepID)
This class is used for returning status codes from appropriate routines.
ParticleProperty * find(int geantId) override
Retrieve a property by geant3 id.
StatusCode erase(const std::string &name) override
Erase a property by particle name.
const_iterator end() const override
Get a const reference to the end of the container.
MapStdHepID m_stdhepidmap
Map for StdHep Ids.
Base class used to extend a class implementing other interfaces.
ParticleProperty * findByStdHepID(int stdHepId) override
Retrieve a property by StdHep id.
Gaudi::Property< std::vector< std::string > > m_other
std::map< int, mapped_type > MapID
Abstract interface for a service or tool implementing a read access to files.
StatusCode addParticles()
std::set< std::unique_ptr< ParticleProperty > > m_owned
MapID m_idmap
Map for geant IDs.
Gaudi::Property< std::string > m_filename
std::map< std::string, mapped_type > MapName
Gaudi::Property< std::vector< std::string > > m_particles
ParticlePropertySvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
std::map< int, mapped_type > MapPythiaID
StatusCode setAntiParticles()
helper (protected) function to set the valid particle<-->antiparticle relations
ParticleProperty * mapped_type
const_iterator begin() const override
Get a const reference to the beginning of the container.
VectPP m_vectpp
Vector of all particle properties.
VectPP::const_iterator const_iterator
Header file for std:chrono::duration-based Counters.
MapPythiaID m_pythiaidmap
Map for Pythia Ids.