The Gaudi Framework
master (37c0b60a)
|
#include <ParticlePropertySvc.cpp>
Public Member Functions | |
iterator | begin () const override |
get the begin-iterator for the container of particle properties It is assumed that the container is properly ordered More... | |
iterator | end () const override |
get the end-iterator for the container of particle properties It is assumed that the container is properly ordered More... | |
size_t | size () const override |
get the container size. More... | |
const Gaudi::ParticleProperty * | find (const std::string &name) const override |
Retrieve an object by name: More... | |
const Gaudi::ParticleProperty * | find (const Gaudi::ParticleID &pid) const override |
Retrieve an object by PID: More... | |
std::string | cc (const std::string &decay) const override |
make the charge conjugation for the string/decay descriptor More... | |
StatusCode | initialize () override |
Initialize the service. More... | |
ParticlePropertySvc (const std::string &name, ISvcLocator *pSvc) | |
Standard Constructor. More... | |
void | updateHandler (Gaudi::Details::PropertyBase &p) |
the action in the case of interactive manipulation with properties: More... | |
void | updateDump (Gaudi::Details::PropertyBase &p) |
the action in the case of interactive manipulation with properties: of the service More... | |
void | updateCC (Gaudi::Details::PropertyBase &p) |
the action in the case of interactive manipulation with properties: of the service More... | |
void | dump () |
dump the table of particle properties More... | |
StatusCode | rebuild () |
rebuild the Particle Property Data More... | |
StatusCode | parse (const std::string &file) |
parse the file More... | |
StatusCode | parseLine (const std::string &line) |
parse the line More... | |
StatusCode | addParticle (const std::string &pname, const Gaudi::ParticleID &pid, const double charge, const double mass, const double tlife, const double maxWidth, const std::string &evtgen, const int pythia) |
add new particle (or redefine the existing one) More... | |
StatusCode | setAntiParticles () |
set properly particle<-->antiparticle relations More... | |
bool | diff (const Gaudi::ParticleProperty &n, const Gaudi::ParticleProperty &o) |
check the difference of two properties and fill corresponding sets More... | |
Public Member Functions inherited from extends< Service, Gaudi::Interfaces::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... | |
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 > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, bool createIf=true) |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true) |
Declare used tool. More... | |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
template<class T > | |
void | addToolsArray (ToolHandleArray< T > &hndlArr) |
const std::vector< IAlgTool * > & | tools () const |
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 std::string &name, const Gaudi::Details::PropertyBase &p) override |
set the property from another property with a different name More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
Set the property from a property. More... | |
virtual StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0 |
Set the property from a property with a different name. More... | |
virtual StatusCode | setProperty (const std::string &s)=0 |
Set the property by string. More... | |
StatusCode | setProperty (const std::string &name, const char *v) |
Special case for string literals. More... | |
StatusCode | setProperty (const std::string &name, const std::string &v) |
Special case for std::string. More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | setPropertyRepr (const std::string &n, const std::string &r) override |
set the property from name and value string representation More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (std::string_view name) const override |
get the property by name More... | |
StatusCode | getProperty (std::string_view 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 (std::string_view name) const override |
Return true if we have a property with the given name. More... | |
Gaudi::Details::PropertyBase * | property (std::string_view name) const |
\fixme property and bindPropertiesTo should be protected More... | |
void | bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc) |
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... | |
Public Attributes | |
Set | m_set |
the actual storage of all particle properties More... | |
Vector | m_vector |
"visible" data (the ordered container) More... | |
NameMap | m_nameMap |
Map: { "name" : "property" }. More... | |
PidMap | m_pidMap |
Map: { "pid" : "property" }. More... | |
Gaudi::Property< bool > | m_dump |
dump the table? More... | |
Gaudi::Property< std::string > | m_filename |
the main file with particle properties More... | |
Gaudi::Property< Files > | m_other |
additional files More... | |
Gaudi::Property< Particles > | m_particles |
properties to be redefined explicitly More... | |
Decays::CC::MapCC | m_ccMap |
the CC-map More... | |
Gaudi::Property< std::map< std::string, std::string > > | m_ccmap_ |
CC-map for properties. More... | |
NameSet | m_by_charge |
NameSet | m_by_mass |
NameSet | m_by_tlife |
NameSet | m_by_width |
NameSet | m_by_evtgen |
NameSet | m_by_pythia |
NameSet | m_replaced_names |
PidSet | m_replaced_pids |
NameSet | m_no_anti |
Vector | m_modified |
Additional Inherited Members | |
Protected Member Functions inherited from Service | |
std::vector< IAlgTool * > & | tools () |
~Service () override | |
Standard Destructor More... | |
int | outputLevel () const |
get the Service's output level More... | |
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... | |
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" } |
flag indicating whether ToolHandle tools have been added to m_tools More... | |
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()" } |
Gaudi::Property< bool > | m_autoRetrieveTools |
Gaudi::Property< bool > | m_checkToolDeps |
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"
1) Modified to add possibility to redefine properties of existing particles and to read addiitonal files. New propeety "OtherFiles" (default is empty vector) is introduces. Service parsed additional files after the main one.
2) Add possibility to modify only certain partiles through the new property "Particles" (default is enpty list), Each line is interpreted as a line in particle data table, e.g.
The replaces/modified particles are reported.
Definition at line 92 of file ParticlePropertySvc.cpp.
the actual type for the list of files
Definition at line 249 of file ParticlePropertySvc.cpp.
typedef GaudiUtils::VectorMap<std::string, const Gaudi::ParticleProperty*> Gaudi::ParticlePropertySvc::NameMap |
the actual type of map: { "name" : "property" }
Definition at line 232 of file ParticlePropertySvc.cpp.
Definition at line 276 of file ParticlePropertySvc.cpp.
the actual type for the list of particle properties (strings)
Definition at line 251 of file ParticlePropertySvc.cpp.
typedef GaudiUtils::VectorMap<Gaudi::ParticleID, const Gaudi::ParticleProperty*> Gaudi::ParticlePropertySvc::PidMap |
the actual type of map: { "pid" : "property" }
Definition at line 234 of file ParticlePropertySvc.cpp.
Definition at line 277 of file ParticlePropertySvc.cpp.
the actual storage of all properties
Definition at line 230 of file ParticlePropertySvc.cpp.
typedef Gaudi::Interfaces::IParticlePropertySvc::ParticleProperties Gaudi::ParticlePropertySvc::Vector |
Definition at line 235 of file ParticlePropertySvc.cpp.
|
inline |
Standard Constructor.
name | service instance name |
pSvc | pointer to service locator ` |
Definition at line 160 of file ParticlePropertySvc.cpp.
StatusCode Gaudi::ParticlePropertySvc::addParticle | ( | const std::string & | pname, |
const Gaudi::ParticleID & | pid, | ||
const double | charge, | ||
const double | mass, | ||
const double | tlife, | ||
const double | maxWidth, | ||
const std::string & | evtgen, | ||
const int | pythia | ||
) |
add new particle (or redefine the existing one)
pname | the particle name |
pid | the particle ID |
charge | the particle charge |
mass | the particle mass |
tlife | the particle tlife |
maxWidth | the particle max-width |
evtgen | the name for EvtGen |
pythia | the ID for pythia generator |
Definition at line 517 of file ParticlePropertySvc.cpp.
|
inlineoverride |
get the begin-iterator for the container of particle properties It is assumed that the container is properly ordered
Definition at line 97 of file ParticlePropertySvc.cpp.
|
override |
make the charge conjugation for the string/decay descriptor
decay | the decay descriptor |
Definition at line 647 of file ParticlePropertySvc.cpp.
bool Gaudi::ParticlePropertySvc::diff | ( | const Gaudi::ParticleProperty & | n, |
const Gaudi::ParticleProperty & | o | ||
) |
check the difference of two properties and fill corresponding sets
Definition at line 587 of file ParticlePropertySvc.cpp.
void Gaudi::ParticlePropertySvc::dump | ( | ) |
dump the table of particle properties
Definition at line 625 of file ParticlePropertySvc.cpp.
|
inlineoverride |
get the end-iterator for the container of particle properties It is assumed that the container is properly ordered
Definition at line 102 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Retrieve an object by PID:
name | the particle name |
Definition at line 134 of file ParticlePropertySvc.cpp.
|
inlineoverride |
Retrieve an object by name:
name | the particle name |
Definition at line 119 of file ParticlePropertySvc.cpp.
|
override |
StatusCode Gaudi::ParticlePropertySvc::parse | ( | const std::string & | file | ) |
parse the file
file | the file name to be parsed |
Definition at line 431 of file ParticlePropertySvc.cpp.
StatusCode Gaudi::ParticlePropertySvc::parseLine | ( | const std::string & | line | ) |
parse the line
line | the line to be parsed |
Definition at line 482 of file ParticlePropertySvc.cpp.
StatusCode Gaudi::ParticlePropertySvc::rebuild | ( | ) |
rebuild the Particle Property Data
Definition at line 333 of file ParticlePropertySvc.cpp.
StatusCode Gaudi::ParticlePropertySvc::setAntiParticles | ( | ) |
set properly particle<-->antiparticle relations
Definition at line 559 of file ParticlePropertySvc.cpp.
|
inlineoverride |
get the container size.
Definition at line 104 of file ParticlePropertySvc.cpp.
void Gaudi::ParticlePropertySvc::updateCC | ( | Gaudi::Details::PropertyBase & | p | ) |
the action in the case of interactive manipulation with properties: of the service
p | the updated property |
Definition at line 420 of file ParticlePropertySvc.cpp.
void Gaudi::ParticlePropertySvc::updateDump | ( | Gaudi::Details::PropertyBase & | p | ) |
the action in the case of interactive manipulation with properties: of the service
p | the updated property |
Definition at line 426 of file ParticlePropertySvc.cpp.
void Gaudi::ParticlePropertySvc::updateHandler | ( | Gaudi::Details::PropertyBase & | p | ) |
the action in the case of interactive manipulation with properties:
p | the updated property |
Definition at line 406 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_charge |
Definition at line 279 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_evtgen |
Definition at line 283 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_mass |
Definition at line 280 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_pythia |
Definition at line 284 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_tlife |
Definition at line 281 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_by_width |
Definition at line 282 of file ParticlePropertySvc.cpp.
|
mutable |
the CC-map
Definition at line 270 of file ParticlePropertySvc.cpp.
Gaudi::Property<std::map<std::string, std::string> > Gaudi::ParticlePropertySvc::m_ccmap_ |
CC-map for properties.
Definition at line 272 of file ParticlePropertySvc.cpp.
Gaudi::Property<bool> Gaudi::ParticlePropertySvc::m_dump |
dump the table?
Definition at line 245 of file ParticlePropertySvc.cpp.
Gaudi::Property<std::string> Gaudi::ParticlePropertySvc::m_filename |
the main file with particle properties
Definition at line 253 of file ParticlePropertySvc.cpp.
Vector Gaudi::ParticlePropertySvc::m_modified |
Definition at line 290 of file ParticlePropertySvc.cpp.
NameMap Gaudi::ParticlePropertySvc::m_nameMap |
Map: { "name" : "property" }.
Definition at line 241 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_no_anti |
Definition at line 288 of file ParticlePropertySvc.cpp.
Gaudi::Property<Files> Gaudi::ParticlePropertySvc::m_other |
additional files
Definition at line 257 of file ParticlePropertySvc.cpp.
Gaudi::Property<Particles> Gaudi::ParticlePropertySvc::m_particles |
properties to be redefined explicitly
Definition at line 263 of file ParticlePropertySvc.cpp.
PidMap Gaudi::ParticlePropertySvc::m_pidMap |
Map: { "pid" : "property" }.
Definition at line 243 of file ParticlePropertySvc.cpp.
NameSet Gaudi::ParticlePropertySvc::m_replaced_names |
Definition at line 286 of file ParticlePropertySvc.cpp.
PidSet Gaudi::ParticlePropertySvc::m_replaced_pids |
Definition at line 287 of file ParticlePropertySvc.cpp.
Set Gaudi::ParticlePropertySvc::m_set |
the actual storage of all particle properties
Definition at line 237 of file ParticlePropertySvc.cpp.
Vector Gaudi::ParticlePropertySvc::m_vector |
"visible" data (the ordered container)
Definition at line 239 of file ParticlePropertySvc.cpp.