![]() |
The Gaudi Framework
v25r3
|
This service provides access to particle properties. More...
#include <src/ParticlePropertySvc.h>
Public Types | |
typedef ParticleProperty * | mapped_type |
typedef std::map< int, mapped_type > | MapID |
typedef std::map< std::string, mapped_type > | MapName |
typedef std::map< int, mapped_type > | MapStdHepID |
typedef std::map< int, mapped_type > | MapPythiaID |
typedef IParticlePropertySvc::VectPP | VectPP |
typedef IParticlePropertySvc::const_iterator | const_iterator |
typedef IParticlePropertySvc::iterator | iterator |
typedef std::set < ParticleProperty * > | Set |
![]() | |
typedef extends1 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces1 < IParticlePropertySvc > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef Gaudi::PluginService::Factory2 < IService *, const std::string &, ISvcLocator * > | Factory |
![]() | |
typedef CommonMessaging | base_class |
![]() | |
typedef implements3 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces3 < IService, IProperty, IStateful > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef mpl::fold< typename IService::iid::iids::type, typename mpl::fold< typename IProperty::iid::iids::type, typename IStateful::iid::iids::type, mpl::insert< mpl::_1, mpl::_2 > >::type, mpl::insert< mpl::_1, mpl::_2 > >::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid |
Interface ID. More... | |
typedef mpl::set1< iid > | ext_iids |
Extra interfaces. More... | |
![]() | |
typedef IParticlePropertySvc::iid::iids::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
typedef std::vector < ParticleProperty * > | VectPP |
typedef VectPP::const_iterator | const_iterator |
typedef VectPP::iterator | iterator |
Public Member Functions | |
virtual StatusCode | initialize () |
Initialise the service. More... | |
virtual StatusCode | finalize () |
Finalise the service. More... | |
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. More... | |
virtual StatusCode | push_back (ParticleProperty *pp) |
Add a new particle property. More... | |
virtual const_iterator | begin () const |
Get a const reference to the beginning of the container. More... | |
virtual const_iterator | end () const |
Get a const reference to the end of the container. More... | |
virtual int | size () const |
Get the container size. More... | |
virtual ParticleProperty * | find (int geantId) |
Retrieve a property by geant3 id. More... | |
virtual ParticleProperty * | find (const std::string &name) |
Retrieve a property by particle name. More... | |
virtual ParticleProperty * | findByStdHepID (int stdHepId) |
Retrieve a property by StdHep id. More... | |
virtual ParticleProperty * | findByPythiaID (int pythiaID) |
Retrieve a property by Pythia id. More... | |
virtual StatusCode | erase (int geantId) |
Erase a property by geant3 id. More... | |
virtual StatusCode | erase (const std::string &name) |
Erase a property by particle name. More... | |
virtual StatusCode | eraseByStdHepID (int stdHepId) |
Erase a property by StdHep id ??? More... | |
ParticlePropertySvc (const std::string &name, ISvcLocator *svc) | |
Standard Constructor. More... | |
virtual | ~ParticlePropertySvc () |
Destructor. More... | |
![]() | |
extends1 (A1 a1, A2 a2, A3 a3) | |
Templated constructor with 3 arguments. More... | |
extends1 (A1 a1, A2 a2) | |
Templated constructor with 2 arguments. More... | |
extends1 (A1 a1) | |
Templated constructor with 1 argument. More... | |
extends1 () | |
Default constructor. More... | |
virtual void * | i_cast (const InterfaceID &tid) const |
Implementation of IInterface::i_cast. More... | |
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp) |
Implementation of IInterface::queryInterface. More... | |
virtual std::vector< std::string > | getInterfaceNames () const |
Implementation of IInterface::getInterfaceNames. More... | |
virtual | ~extends1 () |
Virtual destructor. More... | |
![]() | |
virtual unsigned long | release () |
Release Interface instance. More... | |
virtual const std::string & | name () const |
Retrieve name of the service. More... | |
virtual StatusCode | configure () |
Configuration (from OFFLINE to CONFIGURED). More... | |
virtual StatusCode | start () |
Start (from INITIALIZED to RUNNING). More... | |
virtual StatusCode | stop () |
Stop (from RUNNING to INITIALIZED). More... | |
virtual StatusCode | terminate () |
Initialization (from CONFIGURED to OFFLINE). More... | |
virtual Gaudi::StateMachine::State | FSMState () const |
Get the current state. More... | |
virtual Gaudi::StateMachine::State | targetFSMState () const |
When we are in the middle of a transition, get the state where the transition is leading us. More... | |
virtual StatusCode | reinitialize () |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More... | |
virtual StatusCode | restart () |
Initialization (from RUNNING to RUNNING, via INITIALIZED). More... | |
virtual StatusCode | sysInitialize () |
Initialize Service. More... | |
virtual StatusCode | sysStart () |
Initialize Service. More... | |
virtual StatusCode | sysStop () |
Initialize Service. More... | |
virtual StatusCode | sysFinalize () |
Finalize Service. More... | |
virtual StatusCode | sysReinitialize () |
Re-initialize the Service. More... | |
virtual StatusCode | sysRestart () |
Re-initialize the Service. More... | |
virtual StatusCode | setProperty (const Property &p) |
Set the property by property. More... | |
virtual StatusCode | setProperty (const std::string &s) |
Set the property by string. More... | |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
Set the property by std::string. More... | |
virtual StatusCode | getProperty (Property *p) const |
Get the property by property. More... | |
virtual const Property & | getProperty (const std::string &name) const |
Get the property by name. More... | |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
Get the property by std::string. More... | |
virtual const std::vector < Property * > & | getProperties () const |
Get list of properties. More... | |
template<class TYPE > | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
Service (const std::string &name, ISvcLocator *svcloc) | |
Standard Constructor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const |
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<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 > | |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Declare the named property. More... | |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
Declare remote named properties. More... | |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
![]() | |
CommonMessaging (const A1 &a1, const A2 &a2, const A3 &a3) | |
Templated constructor with 3 arguments. More... | |
CommonMessaging (const A1 &a1, const A2 &a2) | |
Templated constructor with 2 arguments. More... | |
CommonMessaging (const A1 &a1) | |
Templated constructor with 1 argument. More... | |
CommonMessaging () | |
Default constructor. More... | |
virtual | ~CommonMessaging () |
Virtual destructor. More... | |
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... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
![]() | |
virtual | ~extend_interfaces3 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IService, 3, 0) | |
InterfaceID. More... | |
virtual | ~IService () |
virtual destructor More... | |
![]() | |
DeclareInterfaceID (INamedInterface, 1, 0) | |
InterfaceID. More... | |
virtual | ~INamedInterface () |
Virtual destructor (always needed for abstract classes). More... | |
![]() | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. More... | |
virtual unsigned long | refCount () const =0 |
Current reference count. More... | |
virtual | ~IInterface () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IProperty, 2, 0) | |
InterfaceID. More... | |
![]() | |
DeclareInterfaceID (IStateful, 1, 0) | |
InterfaceID. More... | |
virtual | ~IStateful () |
![]() | |
virtual | ~extend_interfaces1 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IParticlePropertySvc, 3, 0) | |
InterfaceID. More... | |
virtual | ~IParticlePropertySvc () |
virtual destructor 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 |
![]() | |
virtual | ~Service () |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
![]() | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Private Types | |
typedef std::vector< std::string > | Files |
typedef std::vector< std::string > | Particles |
Private Attributes | |
std::string | m_filename |
Filename of the particle properties file. More... | |
Files | m_other |
additional file names More... | |
Particles | 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... | |
Set | m_owned |
std::set< std::string > | m_replaced |
IFileAccess * | m_fileAccess |
Additional Inherited Members | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
![]() | |
IntegerProperty | m_outputLevel |
Service output level. More... | |
Gaudi::StateMachine::State | m_state |
Service state. More... | |
Gaudi::StateMachine::State | m_targetState |
Service state. More... | |
![]() | |
SmartIF< IMessageSvc > | m_msgsvc |
Pointer to the message service;. More... | |
std::auto_ptr< MsgStream > | m_msgStream |
The predefined message stream. More... | |
bool | m_streamWithService |
Flag to create a new MsgStream if it was created without the message 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 71 of file ParticlePropertySvc.h.
typedef IParticlePropertySvc::const_iterator Gaudi::ParticlePropertySvc::const_iterator |
Definition at line 81 of file ParticlePropertySvc.h.
|
private |
Definition at line 182 of file ParticlePropertySvc.h.
typedef IParticlePropertySvc::iterator Gaudi::ParticlePropertySvc::iterator |
Definition at line 82 of file ParticlePropertySvc.h.
typedef std::map< int, mapped_type > Gaudi::ParticlePropertySvc::MapID |
Definition at line 76 of file ParticlePropertySvc.h.
typedef std::map< std::string, mapped_type > Gaudi::ParticlePropertySvc::MapName |
Definition at line 77 of file ParticlePropertySvc.h.
typedef ParticleProperty* Gaudi::ParticlePropertySvc::mapped_type |
Definition at line 75 of file ParticlePropertySvc.h.
typedef std::map< int, mapped_type > Gaudi::ParticlePropertySvc::MapPythiaID |
Definition at line 79 of file ParticlePropertySvc.h.
typedef std::map< int, mapped_type > Gaudi::ParticlePropertySvc::MapStdHepID |
Definition at line 78 of file ParticlePropertySvc.h.
|
private |
Definition at line 183 of file ParticlePropertySvc.h.
typedef std::set<ParticleProperty*> Gaudi::ParticlePropertySvc::Set |
Definition at line 83 of file ParticlePropertySvc.h.
typedef IParticlePropertySvc::VectPP Gaudi::ParticlePropertySvc::VectPP |
Definition at line 80 of file ParticlePropertySvc.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 44 of file ParticlePropertySvc.cpp.
|
virtual |
|
protected |
Definition at line 479 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 415 of file ParticlePropertySvc.cpp.
|
inlinevirtual |
Get a const reference to the beginning of the container.
Implements IParticlePropertySvc.
Definition at line 119 of file ParticlePropertySvc.h.
|
protected |
Definition at line 552 of file ParticlePropertySvc.cpp.
|
inlinevirtual |
Get a const reference to the end of the container.
Implements IParticlePropertySvc.
Definition at line 121 of file ParticlePropertySvc.h.
|
inlinevirtual |
Erase a property by geant3 id.
Implements IParticlePropertySvc.
Definition at line 137 of file ParticlePropertySvc.h.
|
inlinevirtual |
Erase a property by particle name.
Implements IParticlePropertySvc.
Definition at line 140 of file ParticlePropertySvc.h.
|
protected |
remove particle property from all maps
Definition at line 285 of file ParticlePropertySvc.cpp.
|
inlinevirtual |
Erase a property by StdHep id ???
Implements IParticlePropertySvc.
Definition at line 143 of file ParticlePropertySvc.h.
|
virtual |
Finalise the service.
finalize
finalize the base class
Reimplemented from Service.
Definition at line 150 of file ParticlePropertySvc.cpp.
|
inlinevirtual |
Retrieve a property by geant3 id.
Implements IParticlePropertySvc.
Definition at line 125 of file ParticlePropertySvc.h.
|
inlinevirtual |
Retrieve a property by particle name.
Implements IParticlePropertySvc.
Definition at line 128 of file ParticlePropertySvc.h.
|
inlinevirtual |
Retrieve a property by Pythia id.
Implements IParticlePropertySvc.
Definition at line 134 of file ParticlePropertySvc.h.
|
inlinevirtual |
Retrieve a property by StdHep id.
Implements IParticlePropertySvc.
Definition at line 131 of file ParticlePropertySvc.h.
|
virtual |
Initialise the service.
initialize the service and setProperties
Reimplemented from Service.
Definition at line 84 of file ParticlePropertySvc.cpp.
|
protected |
parse the file
Definition at line 328 of file ParticlePropertySvc.cpp.
|
protected |
Parses the file and fill all the maps.
Definition at line 299 of file ParticlePropertySvc.cpp.
|
virtual |
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. |
Implements IParticlePropertySvc.
Definition at line 183 of file ParticlePropertySvc.cpp.
|
virtual |
Add a new particle property.
Add a particle property.
pp,a | particle property class. |
Implements IParticlePropertySvc.
Definition at line 205 of file ParticlePropertySvc.cpp.
|
protected |
rebuild "the linear container" from the map
Definition at line 461 of file ParticlePropertySvc.cpp.
|
protected |
helper (protected) function to set the valid particle<–>antiparticle relations
Definition at line 435 of file ParticlePropertySvc.cpp.
|
inlinevirtual |
Get the container size.
Implements IParticlePropertySvc.
Definition at line 123 of file ParticlePropertySvc.h.
|
private |
Definition at line 200 of file ParticlePropertySvc.h.
|
private |
Filename of the particle properties file.
Definition at line 185 of file ParticlePropertySvc.h.
|
private |
Map for geant IDs.
Definition at line 191 of file ParticlePropertySvc.h.
|
private |
Map for particle names.
Definition at line 192 of file ParticlePropertySvc.h.
|
private |
additional file names
Definition at line 186 of file ParticlePropertySvc.h.
|
private |
Definition at line 197 of file ParticlePropertySvc.h.
|
private |
Definition at line 188 of file ParticlePropertySvc.h.
|
private |
Map for Pythia Ids.
Definition at line 194 of file ParticlePropertySvc.h.
|
private |
Definition at line 198 of file ParticlePropertySvc.h.
|
private |
Map for StdHep Ids.
Definition at line 193 of file ParticlePropertySvc.h.
|
private |
Vector of all particle properties.
Definition at line 190 of file ParticlePropertySvc.h.