The Gaudi Framework
v30r3 (a5ef0a68)
|
This service provides access to particle properties. More...
#include <src/ParticlePropertySvc.h>
Public Member Functions | |
StatusCode | initialize () override |
Initialise the service. More... | |
StatusCode | finalize () override |
Finalise the service. More... | |
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. More... | |
StatusCode | push_back (ParticleProperty *pp) override |
Add a new particle property. More... | |
const_iterator | begin () const override |
Get a const reference to the beginning of the container. More... | |
const_iterator | end () const override |
Get a const reference to the end of the container. More... | |
int | size () const override |
Get the container size. More... | |
ParticleProperty * | find (int geantId) override |
Retrieve a property by geant3 id. More... | |
ParticleProperty * | find (const std::string &name) override |
Retrieve a property by particle name. More... | |
ParticleProperty * | findByStdHepID (int stdHepId) override |
Retrieve a property by StdHep id. More... | |
ParticleProperty * | findByPythiaID (int pythiaID) override |
Retrieve a property by Pythia id. More... | |
StatusCode | erase (int geantId) override |
Erase a property by geant3 id. More... | |
StatusCode | erase (const std::string &name) override |
Erase a property by particle name. More... | |
StatusCode | eraseByStdHepID (int stdHepId) override |
Erase a property by StdHep id ??? More... | |
ParticlePropertySvc (const std::string &name, ISvcLocator *svc) | |
Standard Constructor. More... | |
Public Member Functions inherited from extends< Service, IParticlePropertySvc > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
Public Member Functions inherited from Service | |
const std::string & | name () const override |
Retrieve name of the service. More... | |
StatusCode | configure () override |
StatusCode | initialize () override |
StatusCode | start () override |
StatusCode | stop () override |
StatusCode | finalize () override |
StatusCode | terminate () override |
Gaudi::StateMachine::State | FSMState () const override |
Gaudi::StateMachine::State | targetFSMState () const override |
StatusCode | reinitialize () override |
StatusCode | restart () override |
StatusCode | sysInitialize () override |
Initialize Service. More... | |
StatusCode | sysStart () override |
Initialize Service. More... | |
StatusCode | sysStop () override |
Initialize Service. More... | |
StatusCode | sysFinalize () override |
Finalize Service. More... | |
StatusCode | sysReinitialize () override |
Re-initialize the Service. More... | |
StatusCode | sysRestart () override |
Re-initialize the Service. More... | |
Service (std::string name, ISvcLocator *svcloc) | |
Standard Constructor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const override |
Retrieve pointer to service locator. More... | |
StatusCode | setProperties () |
Method for setting declared properties to the values specified for the job. More... | |
template<class T > | |
StatusCode | service (const std::string &name, const T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const |
template<typename IFace = IService> | |
SmartIF< IFace > | service (const std::string &name, bool createIf=true) const |
template<class T > | |
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
Declare used tool. More... | |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > > | |
PropertyHolder ()=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override |
set the property form another property More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const std::string &n, const std::string &v) override |
set the property from name and the value More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
get the property by name More... | |
StatusCode | getProperty (const std::string &n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (const std::string &name) const override |
Return true if we have a property with the given name. More... | |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
Public Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > > | |
MSG::Level | msgLevel () const |
get the cached level (originally extracted from the embedded MsgStream) More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
MSG::Level | outputLevel () const |
Backward compatibility function for getting the output level. More... | |
Public Member Functions inherited from CommonMessagingBase | |
virtual | ~CommonMessagingBase ()=default |
Virtual destructor. More... | |
const SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
Protected Member Functions | |
const ParticleProperty * | anti (const ParticleProperty *pp) const |
helper (protected) function to find an antiparticle for the given particle ID (StdHepID) More... | |
StatusCode | setAntiParticles () |
helper (protected) function to set the valid particle<–>antiparticle relations More... | |
StatusCode | rebuild () |
rebuild "the linear container" from the map More... | |
StatusCode | erase (const ParticleProperty *pp) |
remove particle property from all maps More... | |
StatusCode | parse (const std::string &file) |
parse the file More... | |
StatusCode | parse () |
Parses the file and fill all the maps. More... | |
StatusCode | addParticles () |
bool | diff (const ParticleProperty *o, const ParticleProperty *n, const MSG::Level l=MSG::DEBUG) const |
Protected Member Functions inherited from Service | |
~Service () override | |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > > | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > > | |
MSG::Level | setUpMessaging () const |
Set up local caches. More... | |
MSG::Level | resetMessaging () |
Reinitialize internal states. More... | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Private Attributes | |
Gaudi::Property< std::string > | m_filename |
Gaudi::Property< std::vector< std::string > > | m_other {this, "OtherFiles", {}, "additional file names"} |
Gaudi::Property< std::vector< std::string > > | m_particles |
VectPP | m_vectpp |
Vector of all particle properties. More... | |
MapID | m_idmap |
Map for geant IDs. More... | |
MapName | m_namemap |
Map for particle names. More... | |
MapStdHepID | m_stdhepidmap |
Map for StdHep Ids. More... | |
MapPythiaID | m_pythiaidmap |
Map for Pythia Ids. More... | |
std::set< std::unique_ptr< ParticleProperty > > | m_owned |
std::set< std::string > | m_replaced |
SmartIF< IFileAccess > | m_fileAccess |
Additional Inherited Members | |
Protected Attributes inherited from Service | |
Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"} |
Gaudi::Property< bool > | m_auditInit {this, "AuditServices", false, "[[deprecated]] unused"} |
Gaudi::Property< bool > | m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"} |
Gaudi::Property< bool > | m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"} |
Gaudi::Property< bool > | m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"} |
Gaudi::Property< bool > | m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"} |
Gaudi::Property< bool > | m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"} |
Gaudi::Property< bool > | m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"} |
SmartIF< IAuditorSvc > | m_pAuditorSvc |
Auditor Service. More... | |
This service provides access to particle properties.
The settable property of this service is the ParticlePropertiesFile, an ASCII file containing the list of properties for the particles. The default file is: "$PARAMFILESROOT/data/ParticleTable.txt" or if $PARAMFILESROOT is not defined "ParticleTable.txt"
2) Add possibility to modify only certain particles through the new property "Particles" (default is empty list), Each line is interpreted as a line in particle data table, e.g.
The replaces/modified particles are reported.
Definition at line 72 of file ParticlePropertySvc.h.
typedef VectPP::const_iterator IParticlePropertySvc::const_iterator |
Definition at line 27 of file IParticlePropertySvc.h.
typedef VectPP::iterator IParticlePropertySvc::iterator |
Definition at line 28 of file IParticlePropertySvc.h.
typedef std::map<int, mapped_type> Gaudi::ParticlePropertySvc::MapID |
Definition at line 77 of file ParticlePropertySvc.h.
typedef std::map<std::string, mapped_type> Gaudi::ParticlePropertySvc::MapName |
Definition at line 78 of file ParticlePropertySvc.h.
typedef ParticleProperty* Gaudi::ParticlePropertySvc::mapped_type |
Definition at line 76 of file ParticlePropertySvc.h.
typedef std::map<int, mapped_type> Gaudi::ParticlePropertySvc::MapPythiaID |
Definition at line 80 of file ParticlePropertySvc.h.
typedef std::map<int, mapped_type> Gaudi::ParticlePropertySvc::MapStdHepID |
Definition at line 79 of file ParticlePropertySvc.h.
Definition at line 26 of file IParticlePropertySvc.h.
Gaudi::ParticlePropertySvc::ParticlePropertySvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Standard Constructor.
name | String with service name |
svc | Pointer to service locator interface |
Definition at line 47 of file ParticlePropertySvc.cpp.
|
protected |
Definition at line 378 of file ParticlePropertySvc.cpp.
|
protected |
helper (protected) function to find an antiparticle for the given particle ID (StdHepID)
Helper (protected) function to find an antiparticle for the given particle ID (StdHepID)
pp | pointer to particle property |
Definition at line 311 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Get a const reference to the beginning of the container.
Definition at line 111 of file ParticlePropertySvc.h.
|
protected |
Definition at line 421 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Get a const reference to the end of the container.
Definition at line 113 of file ParticlePropertySvc.h.
|
inlineoverride |
Erase a property by geant3 id.
Definition at line 125 of file ParticlePropertySvc.h.
|
inlineoverride |
Erase a property by particle name.
Definition at line 127 of file ParticlePropertySvc.h.
|
protected |
remove particle property from all maps
Definition at line 220 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Erase a property by StdHep id ???
Definition at line 129 of file ParticlePropertySvc.h.
|
override |
Finalise the service.
finalize
finalize the base class
Definition at line 112 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Retrieve a property by geant3 id.
Definition at line 117 of file ParticlePropertySvc.h.
|
inlineoverride |
Retrieve a property by particle name.
Definition at line 119 of file ParticlePropertySvc.h.
|
inlineoverride |
Retrieve a property by Pythia id.
Definition at line 123 of file ParticlePropertySvc.h.
|
inlineoverride |
Retrieve a property by StdHep id.
Definition at line 121 of file ParticlePropertySvc.h.
|
override |
Initialise the service.
initialize the service and setProperties
Definition at line 58 of file ParticlePropertySvc.cpp.
|
protected |
parse the file
Definition at line 264 of file ParticlePropertySvc.cpp.
|
protected |
Parses the file and fill all the maps.
Definition at line 236 of file ParticlePropertySvc.cpp.
|
override |
Create a new particle property.
Create a particle property and insert it in the maps.
geantId | Geant3 ID of the particle. |
jetsetId | Jetset ID of the particle. |
charge | Particle charge (/e). |
mass | Particle mass (GeV). |
tlife | Particle lifetime (s). |
evtName | String name of the particle in EvtGen. |
pythiaId | Pythia ID of the particle. |
Definition at line 131 of file ParticlePropertySvc.cpp.
|
override |
Add a new particle property.
Add a particle property.
pp,a | particle property class. |
Definition at line 144 of file ParticlePropertySvc.cpp.
|
protected |
rebuild "the linear container" from the map
Definition at line 361 of file ParticlePropertySvc.cpp.
|
protected |
helper (protected) function to set the valid particle<–>antiparticle relations
Definition at line 332 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Get the container size.
Definition at line 115 of file ParticlePropertySvc.h.
|
private |
Definition at line 178 of file ParticlePropertySvc.h.
|
private |
Definition at line 162 of file ParticlePropertySvc.h.
|
private |
Map for geant IDs.
Definition at line 169 of file ParticlePropertySvc.h.
|
private |
Map for particle names.
Definition at line 170 of file ParticlePropertySvc.h.
|
private |
Definition at line 164 of file ParticlePropertySvc.h.
|
private |
Definition at line 175 of file ParticlePropertySvc.h.
|
private |
Definition at line 165 of file ParticlePropertySvc.h.
|
private |
Map for Pythia Ids.
Definition at line 172 of file ParticlePropertySvc.h.
|
private |
Definition at line 176 of file ParticlePropertySvc.h.
|
private |
Map for StdHep Ids.
Definition at line 171 of file ParticlePropertySvc.h.
|
private |
Vector of all particle properties.
Definition at line 168 of file ParticlePropertySvc.h.