![]() |
The Gaudi Framework
v29r0 (ff2e7097)
|
The DataOnDemandSvc listens to incidents typically triggered by the data service of the configurable name "IncidentName". More...
#include <src/IncidentSvc/DataOnDemandSvc.h>
Classes | |
struct | Leaf |
struct | Node |
Helper class of the DataOnDemandSvc. More... | |
struct | Protection |
Helper class of the DataOnDemandSvc. More... | |
Public Member Functions | |
StatusCode | initialize () override |
Inherited Service overrides: Service initialization. More... | |
StatusCode | finalize () override |
Inherited Service overrides: Service finalization. More... | |
StatusCode | reinitialize () override |
Inherited Service overrides: Service reinitialization. More... | |
void | handle (const Incident &incident) override |
IIncidentListener interfaces overrides: incident handling. More... | |
DataOnDemandSvc (const std::string &name, ISvcLocator *svc) | |
Standard initializing service constructor. More... | |
~DataOnDemandSvc () override=default | |
Standard destructor. More... | |
![]() | |
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... | |
~extends () override=default | |
Virtual destructor. More... | |
![]() | |
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... | |
![]() | |
PropertyHolder ()=default | |
~PropertyHolder () override=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, TYPE &value, const std::string &doc="none") const |
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 |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none") |
Specializations for various GaudiHandles. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none") |
![]() | |
virtual | ~CommonMessagingBase ()=default |
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... | |
MSG::Level | outputLevel () const __attribute__((deprecated)) |
Backward compatibility function for getting the output level. More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
![]() | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
Protected Member Functions | |
StatusCode | configureHandler (Leaf &leaf) |
Configure handler for leaf. More... | |
StatusCode | execHandler (const std::string &tag, Leaf &leaf) |
Execute leaf handler (algorithm) More... | |
StatusCode | execHandler (const std::string &tag, Node &node) |
Execute node handler (simple object creation using seal reflection) More... | |
StatusCode | setupNodeHandlers () |
Initialize node handlers. More... | |
StatusCode | setupAlgHandlers () |
Initialize leaf handlers. More... | |
StatusCode | setup () |
Setup routine (called by (re-) initialize. More... | |
void | i_setNodeHandler (const std::string &name, const std::string &type) |
Internal method to initialize a node handler. More... | |
StatusCode | i_setAlgHandler (const std::string &name, const Gaudi::Utils::TypeNameString &alg) |
Internal method to initialize an algorithm handler. More... | |
StatusCode | update () |
update the handlers More... | |
void | dump (const MSG::Level level, const bool mode=true) const |
dump the content of DataOnDemand service More... | |
![]() | |
~Service () override | |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
![]() | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
![]() | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Private Types | |
typedef std::map< std::string, std::string > | Map |
Additional Inherited Members | |
![]() | |
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... | |
The DataOnDemandSvc listens to incidents typically triggered by the data service of the configurable name "IncidentName".
In the job options handlers can be declared, which allow to configure this service. Such handlers are either:
The handlers only get called if the exact path matches. In the event already the partial path to any handler is missing a leaf handler may be triggered, which includes the partial paths ( DataOnDemandSvc.UsePreceedingPath = true )
2006-10-15: New options (using map-like semantics:)
New treatment of preceding paths. for each registered leaf or node the all parent nodes are added into the node-map with default directory type 'DataObject'
The major properties are equipped with handlers (more or less mandatory for interactive work in python)
From now the default prefix ( "/Event/" ) could be omitted from any data-item. It will be added automatically.
Definition at line 90 of file DataOnDemandSvc.h.
Definition at line 152 of file DataOnDemandSvc.h.
typedef TClass* DataOnDemandSvc::ClassH |
Definition at line 96 of file DataOnDemandSvc.h.
|
private |
Definition at line 264 of file DataOnDemandSvc.h.
Definition at line 151 of file DataOnDemandSvc.h.
typedef std::vector<std::string> DataOnDemandSvc::Setup |
Definition at line 95 of file DataOnDemandSvc.h.
DataOnDemandSvc::DataOnDemandSvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Standard initializing service constructor.
name | [IN] Service instance name |
svc | [IN] Pointer to service locator |
Definition at line 41 of file DataOnDemandSvc.cpp.
|
overridedefault |
Standard destructor.
|
protected |
Configure handler for leaf.
leaf | [IN] Reference to leaf handler |
Definition at line 455 of file DataOnDemandSvc.cpp.
|
protected |
dump the content of DataOnDemand service
level | the printout level |
mode | the printout mode |
Definition at line 710 of file DataOnDemandSvc.cpp.
|
protected |
Execute leaf handler (algorithm)
tag | [IN] Path to requested leaf |
leaf | [IN] Reference to leaf handler |
Definition at line 671 of file DataOnDemandSvc.cpp.
|
protected |
Execute node handler (simple object creation using seal reflection)
tag | [IN] Path to requested leaf |
node | [IN] Reference to node handler |
Definition at line 626 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service finalization.
Definition at line 262 of file DataOnDemandSvc.cpp.
|
override |
IIncidentListener interfaces overrides: incident handling.
Definition at line 553 of file DataOnDemandSvc.cpp.
|
protected |
Internal method to initialize an algorithm handler.
Definition at line 154 of file DataOnDemandSvc.cpp.
|
protected |
Internal method to initialize a node handler.
Definition at line 145 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service initialization.
Definition at line 235 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service reinitialization.
re-initialization of the service
Definition at line 311 of file DataOnDemandSvc.cpp.
|
protected |
Setup routine (called by (re-) initialize.
Definition at line 347 of file DataOnDemandSvc.cpp.
|
protected |
Initialize leaf handlers.
Definition at line 425 of file DataOnDemandSvc.cpp.
|
protected |
Initialize node handlers.
Definition at line 395 of file DataOnDemandSvc.cpp.
|
protected |
update the handlers
convert obsolete "Nodes" into new "NodeMap"
convert obsolete "Algorithms" into new "AlgMap"
add the default prefix
add the default prefix
get all directories
setup algorithms
setup nodes
Definition at line 175 of file DataOnDemandSvc.cpp.
|
private |
Definition at line 265 of file DataOnDemandSvc.h.
|
private |
Definition at line 246 of file DataOnDemandSvc.h.
|
private |
Definition at line 261 of file DataOnDemandSvc.h.
|
private |
Definition at line 272 of file DataOnDemandSvc.h.
|
private |
Algorithm manager.
Definition at line 221 of file DataOnDemandSvc.h.
|
private |
Map of algorithms to handle incidents.
Definition at line 227 of file DataOnDemandSvc.h.
|
private |
Definition at line 257 of file DataOnDemandSvc.h.
|
private |
Data provider reference.
Definition at line 223 of file DataOnDemandSvc.h.
|
private |
Definition at line 250 of file DataOnDemandSvc.h.
|
private |
Definition at line 253 of file DataOnDemandSvc.h.
|
private |
Incident service.
Definition at line 219 of file DataOnDemandSvc.h.
|
private |
Definition at line 256 of file DataOnDemandSvc.h.
|
private |
Definition at line 242 of file DataOnDemandSvc.h.
|
private |
Definition at line 243 of file DataOnDemandSvc.h.
|
private |
Definition at line 241 of file DataOnDemandSvc.h.
|
private |
Definition at line 266 of file DataOnDemandSvc.h.
|
private |
Definition at line 245 of file DataOnDemandSvc.h.
|
private |
Definition at line 262 of file DataOnDemandSvc.h.
|
private |
Definition at line 270 of file DataOnDemandSvc.h.
|
private |
Map of "empty" objects to be placed as intermediate nodes.
Definition at line 229 of file DataOnDemandSvc.h.
|
private |
Definition at line 252 of file DataOnDemandSvc.h.
|
private |
Definition at line 268 of file DataOnDemandSvc.h.
|
private |
Definition at line 236 of file DataOnDemandSvc.h.
|
private |
Definition at line 234 of file DataOnDemandSvc.h.
|
private |
Definition at line 235 of file DataOnDemandSvc.h.
|
private |
Definition at line 239 of file DataOnDemandSvc.h.
|
private |
Definition at line 240 of file DataOnDemandSvc.h.
|
private |
Definition at line 238 of file DataOnDemandSvc.h.
Data provider reference.
Definition at line 225 of file DataOnDemandSvc.h.
|
private |
Definition at line 233 of file DataOnDemandSvc.h.
|
private |
Definition at line 249 of file DataOnDemandSvc.h.
|
private |
Definition at line 231 of file DataOnDemandSvc.h.