![]() |
The Gaudi Framework
v27r0
|
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 Types | |
typedef std::vector< std::string > | Setup |
typedef TClass * | ClassH |
typedef GaudiUtils::HashMap< Gaudi::StringKey, Node > | NodeMap |
typedef GaudiUtils::HashMap< Gaudi::StringKey, Leaf > | AlgMap |
![]() | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
![]() | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... More... | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... 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 | update_1 (Property &p) |
void | update_2 (Property &p) |
void | update_3 (Property &p) |
void | update_dump (Property &) |
update handler for 'Dump' property 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... | |
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... | |
![]() | |
~extend_interfaces () override=default | |
Virtual destructor. 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... | |
MsgStream & | stream () const |
get the message stream More... | |
void | dump (const MSG::Level level, const bool mode=true) const |
dump the content of DataOnDemand service More... | |
Private Types | |
typedef std::map< std::string, std::string > | Map |
Private Attributes | |
SmartIF< IIncidentSvc > | m_incSvc = nullptr |
Incident service. More... | |
SmartIF< IAlgManager > | m_algMgr = nullptr |
Algorithm manager. More... | |
SmartIF< IDataProviderSvc > | m_dataSvc = nullptr |
Data provider reference. More... | |
SmartIF< IToolSvc > | m_toolSvc |
Data provider reference. More... | |
std::string | m_trapType = "DataFault" |
Trap name. More... | |
std::string | m_dataSvcName = "EventDataSvc" |
Data service name. More... | |
bool | m_partialPath = true |
Flag to allow for the creation of partial leaves. More... | |
bool | m_dump = false |
flag to force the printout More... | |
bool | m_init = false |
flag to warm up the configuration More... | |
bool | m_allowInitFailure = false |
flag to allow DataOnDemand initialization to succeed even if the (pre)initialization of the algorithms fails (m_init). More... | |
Setup | m_algMapping |
Mapping to algorithms. More... | |
Setup | m_nodeMapping |
Mapping to nodes. More... | |
AlgMap | m_algs |
Map of algorithms to handle incidents. More... | |
NodeMap | m_nodes |
Map of "empty" objects to be placed as intermediate nodes. More... | |
Map | m_algMap |
the major configuration property { 'data' : 'algorithm' } More... | |
Map | m_nodeMap |
the major configuration property { 'data' : 'type' } More... | |
bool | m_updateRequired = true |
std::string | m_prefix = "/Event/" |
std::unique_ptr< MsgStream > | m_log |
ChronoEntity | m_total |
ulonglong | m_statAlg = 0 |
ulonglong | m_statNode = 0 |
ulonglong | m_stat = 0 |
ChronoEntity | m_timer_nodes |
ChronoEntity | m_timer_algs |
ChronoEntity | m_timer_all |
bool | m_locked_nodes = false |
bool | m_locked_algs = false |
bool | m_locked_all = false |
std::vector< std::string > | m_nodeMapTools |
std::vector< IDODNodeMapper * > | m_nodeMappers |
std::vector< std::string > | m_algMapTools |
std::vector< IDODAlgMapper * > | m_algMappers |
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 163 of file DataOnDemandSvc.h.
typedef TClass* DataOnDemandSvc::ClassH |
Definition at line 96 of file DataOnDemandSvc.h.
|
private |
Definition at line 274 of file DataOnDemandSvc.h.
Definition at line 162 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 528 of file DataOnDemandSvc.cpp.
|
protected |
dump the content of DataOnDemand service
level | the printout level |
mode | the printout mode |
Definition at line 805 of file DataOnDemandSvc.cpp.
|
protected |
Execute leaf handler (algorithm)
tag | [IN] Path to requested leaf |
leaf | [IN] Reference to leaf handler |
Definition at line 764 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 708 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service finalization.
Definition at line 316 of file DataOnDemandSvc.cpp.
|
override |
IIncidentListener interfaces overrides: incident handling.
Definition at line 636 of file DataOnDemandSvc.cpp.
|
protected |
Internal method to initialize an algorithm handler.
Definition at line 217 of file DataOnDemandSvc.cpp.
|
protected |
Internal method to initialize a node handler.
Definition at line 207 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service initialization.
Definition at line 298 of file DataOnDemandSvc.cpp.
|
override |
Inherited Service overrides: Service reinitialization.
re-initialization of the service
Definition at line 375 of file DataOnDemandSvc.cpp.
|
protected |
Setup routine (called by (re-) initialize.
Definition at line 406 of file DataOnDemandSvc.cpp.
|
protected |
Initialize leaf handlers.
Definition at line 493 of file DataOnDemandSvc.cpp.
|
protected |
Initialize node handlers.
Definition at line 456 of file DataOnDemandSvc.cpp.
|
inlineprotected |
|
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 239 of file DataOnDemandSvc.cpp.
void DataOnDemandSvc::update_1 | ( | Property & | p | ) |
Definition at line 89 of file DataOnDemandSvc.cpp.
void DataOnDemandSvc::update_2 | ( | Property & | p | ) |
Definition at line 110 of file DataOnDemandSvc.cpp.
void DataOnDemandSvc::update_3 | ( | Property & | p | ) |
Definition at line 98 of file DataOnDemandSvc.cpp.
void DataOnDemandSvc::update_dump | ( | Property & | ) |
update handler for 'Dump' property
Definition at line 122 of file DataOnDemandSvc.cpp.
|
private |
the major configuration property { 'data' : 'algorithm' }
Definition at line 276 of file DataOnDemandSvc.h.
|
private |
Definition at line 298 of file DataOnDemandSvc.h.
|
private |
Mapping to algorithms.
Definition at line 266 of file DataOnDemandSvc.h.
|
private |
Definition at line 297 of file DataOnDemandSvc.h.
|
private |
Algorithm manager.
Definition at line 247 of file DataOnDemandSvc.h.
|
private |
Map of algorithms to handle incidents.
Definition at line 270 of file DataOnDemandSvc.h.
|
private |
flag to allow DataOnDemand initialization to succeed even if the (pre)initialization of the algorithms fails (m_init).
Definition at line 264 of file DataOnDemandSvc.h.
|
private |
Data provider reference.
Definition at line 249 of file DataOnDemandSvc.h.
|
private |
Data service name.
Definition at line 255 of file DataOnDemandSvc.h.
|
private |
flag to force the printout
Definition at line 259 of file DataOnDemandSvc.h.
|
private |
Incident service.
Definition at line 245 of file DataOnDemandSvc.h.
|
private |
flag to warm up the configuration
Definition at line 261 of file DataOnDemandSvc.h.
|
private |
Definition at line 292 of file DataOnDemandSvc.h.
|
private |
Definition at line 293 of file DataOnDemandSvc.h.
|
private |
Definition at line 291 of file DataOnDemandSvc.h.
|
mutableprivate |
Definition at line 281 of file DataOnDemandSvc.h.
|
private |
the major configuration property { 'data' : 'type' }
Definition at line 278 of file DataOnDemandSvc.h.
|
private |
Definition at line 296 of file DataOnDemandSvc.h.
|
private |
Mapping to nodes.
Definition at line 268 of file DataOnDemandSvc.h.
|
private |
Definition at line 295 of file DataOnDemandSvc.h.
|
private |
Map of "empty" objects to be placed as intermediate nodes.
Definition at line 272 of file DataOnDemandSvc.h.
|
private |
Flag to allow for the creation of partial leaves.
Definition at line 257 of file DataOnDemandSvc.h.
|
private |
Definition at line 280 of file DataOnDemandSvc.h.
|
private |
Definition at line 286 of file DataOnDemandSvc.h.
|
private |
Definition at line 284 of file DataOnDemandSvc.h.
|
private |
Definition at line 285 of file DataOnDemandSvc.h.
|
private |
Definition at line 289 of file DataOnDemandSvc.h.
|
private |
Definition at line 290 of file DataOnDemandSvc.h.
|
private |
Definition at line 288 of file DataOnDemandSvc.h.
Data provider reference.
Definition at line 251 of file DataOnDemandSvc.h.
|
private |
Definition at line 283 of file DataOnDemandSvc.h.
|
private |
Trap name.
Definition at line 253 of file DataOnDemandSvc.h.
|
private |
Definition at line 279 of file DataOnDemandSvc.h.