1 #ifndef PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H
2 #define PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H
76 typedef std::map< int, mapped_type >
MapID ;
77 typedef std::map< std::string, mapped_type >
MapName ;
83 typedef std::set<ParticleProperty*>
Set ;
103 (
const std::string& particle ,
109 const std::string& evtName ,
126 {
return m_idmap[ geantId ] ; }
182 typedef std::vector<std::string>
Files ;
StatusCode rebuild()
rebuild "the linear container" from the map
VectPP::iterator iterator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual ParticleProperty * find(int geantId)
Retrieve a property by geant3 id.
std::map< int, mapped_type > MapStdHepID
virtual StatusCode eraseByStdHepID(int stdHepId)
Erase a property by StdHep id ???
This service provides access to particle properties.
A trivial class to hold information about a single particle properties.
virtual StatusCode erase(int geantId)
Erase a property by geant3 id.
std::map< std::string, mapped_type > MapName
std::vector< ParticleProperty * > VectPP
virtual StatusCode erase(const std::string &name)
Erase a property by particle name.
virtual ParticleProperty * find(const std::string &name)
Retrieve a property by particle name.
MapName m_namemap
Map for particle names.
StatusCode parse()
Parses the file and fill all the maps.
IFileAccess * m_fileAccess
Files m_other
additional file names
virtual ParticleProperty * findByPythiaID(int pythiaID)
Retrieve a property by Pythia id.
virtual 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)
Create a new particle property.
std::set< std::string > m_replaced
std::vector< std::string > Files
virtual StatusCode initialize()
Initialise the service.
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
std::vector< std::string > Particles
std::string m_filename
Filename of the particle properties file.
IParticlePropertySvc::VectPP VectPP
virtual const std::string & name() const
Retrieve name of the service.
MapStdHepID m_stdhepidmap
Map for StdHep Ids.
virtual const_iterator begin() const
Get a const reference to the beginning of the container.
std::set< ParticleProperty * > Set
const ParticleProperty * anti(const ParticleProperty *pp) const
helper (protected) function to find an antiparticle for the given particle ID (StdHepID) ...
std::map< int, mapped_type > MapPythiaID
virtual ParticleProperty * findByStdHepID(int stdHepId)
Retrieve a property by StdHep id.
bool diff(const ParticleProperty *o, const ParticleProperty *n, const MSG::Level l=MSG::DEBUG) const
virtual StatusCode finalize()
Finalise the service.
std::map< int, mapped_type > MapID
Abstract interface for a service or tool implementing a read access to files.
StatusCode addParticles()
MapID m_idmap
Map for geant IDs.
ParticlePropertySvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
virtual int size() const
Get the container size.
virtual const_iterator end() const
Get a const reference to the end of the container.
This is a number of static methods for bootstrapping the Gaudi framework.
StatusCode setAntiParticles()
helper (protected) function to set the valid particle<–>antiparticle relations
ParticleProperty * mapped_type
VectPP m_vectpp
Vector of all particle properties.
virtual ~ParticlePropertySvc()
Destructor.
VectPP::const_iterator const_iterator
MapPythiaID m_pythiaidmap
Map for Pythia Ids.
IParticlePropertySvc::iterator iterator
IParticlePropertySvc::const_iterator const_iterator