![]() |
The Gaudi Framework
v32r2 (46d42edc)
|
The Application Manager class. More...
#include <src/ApplicationMgr/ApplicationMgr.h>


Public Member Functions | |
| ApplicationMgr (IInterface *=nullptr) | |
| StatusCode | queryInterface (const InterfaceID &iid, void **pinterface) override |
| StatusCode | run () override |
| StatusCode | configure () override |
| StatusCode | terminate () override |
| StatusCode | initialize () override |
| StatusCode | start () override |
| StatusCode | stop () override |
| StatusCode | finalize () override |
| StatusCode | nextEvent (int maxevt) override |
| const std::string & | name () const override |
| EventContext | createEventContext () override |
| implementation of IEventProcessor::createEventContext() More... | |
| StatusCode | executeEvent (EventContext &&ctx) override |
| implementation of IEventProcessor::executeEvent(void*) More... | |
| StatusCode | executeRun (int evtmax) override |
| implementation of IEventProcessor::executeRun(int) More... | |
| StatusCode | stopRun () override |
| implementation of IEventProcessor::stopRun() More... | |
| Gaudi::StateMachine::State | FSMState () const override |
| Gaudi::StateMachine::State | targetFSMState () const override |
| StatusCode | reinitialize () override |
| StatusCode | restart () override |
| StatusCode | sysInitialize () override |
| StatusCode | sysStart () override |
| StatusCode | sysStop () override |
| StatusCode | sysFinalize () override |
| StatusCode | sysReinitialize () override |
| StatusCode | sysRestart () override |
| template<class I > | |
| SmartIF< IComponentManager > & | getManager () |
| SmartIF< ISvcManager > & | svcManager () |
| SmartIF< IAlgManager > & | algManager () |
| SmartIF< ISvcLocator > & | serviceLocator () const override |
| Needed to locate the message service. More... | |
| void | outputLevelUpdate () override |
| Function to call to update the outputLevel of the components (after a change in MessageSvc). More... | |
| void | printAlgsSequences () |
| Print the sequence of algorithms that have been loaded. More... | |
| void | push (EventContext &&ctx) override |
| bool | empty () const override |
| std::optional< Gaudi::Interfaces::IQueueingEventProcessor::ResultType > | pop () override |
Gaudi::Details::PropertyBase handlers | |
| void | evtLoopPropertyHandler (Gaudi::Details::PropertyBase &theProp) |
| StatusCode | decodeExtSvcNameList () |
| StatusCode | decodeCreateSvcNameList () |
| void | createSvcNameListHandler (Gaudi::Details::PropertyBase &) |
| void | extSvcNameListHandler (Gaudi::Details::PropertyBase &theProp) |
| StatusCode | decodeDllNameList () |
| void | dllNameListHandler (Gaudi::Details::PropertyBase &theProp) |
| void | pluginDebugPropertyHandler (Gaudi::Details::PropertyBase &theProp) |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > > | |
| 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< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > | |
| 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 Types | |
| typedef std::map< unsigned long, SmartIF< IComponentManager > > | ManagersMap |
| Typedef for the map of component managers, the key is the "id" field of the basic InterfaceID of the managed components. More... | |
Protected Member Functions | |
| void | setServiceManager (ISvcManager *) override |
| StatusCode | i_startup () |
| Internal startup routine. More... | |
| StatusCode | GoToState (Gaudi::StateMachine::State state, bool ignoreFailures=false) |
| Reach a state from current state (whichever it is) going through the correct transitions. More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > > | |
| Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > | |
| 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 | |
| ManagersMap | m_managers |
| Map of known component managers. More... | |
| Gaudi::Property< std::vector< std::string > > | m_declaredManagers |
| Property to declare the list of known managers. More... | |
| SmartIF< ISvcManager > | m_svcManager |
| Cached pointer to the manager of services. More... | |
| SmartIF< IAlgManager > | m_algManager |
| Cached pointer to the manager of algorithms. More... | |
| SmartIF< ISvcLocator > | m_svcLocator |
| Reference to its own service locator (must be instantiated prior to any service!) More... | |
| SmartIF< DLLClassManager > | m_classManager |
| Reference to the class manager. More... | |
| Gaudi::Property< int > | m_SIGo |
| Gaudi::Property< int > | m_SIExit |
| Gaudi::Property< std::vector< std::string > > | m_topAlgNameList |
| Gaudi::Property< std::vector< std::string > > | m_outStreamNameList |
| Gaudi::Property< std::string > | m_outStreamType |
| Gaudi::Property< std::string > | m_messageSvcType {this, "MessageSvcType", "MessageSvc", "MessageSvc type"} |
| Gaudi::Property< std::string > | m_jobOptionsSvcType {this, "JobOptionsSvcType", "JobOptionsSvc", "JobOptionsSvc type"} |
| std::string | m_name = "ApplicationMgr" |
| Name. More... | |
| Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::OFFLINE |
| Internal State. More... | |
| Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::OFFLINE |
| Internal State. More... | |
| Gaudi::Property< std::vector< std::string > > | m_svcMapping {this, "SvcMapping", {}, "Default mapping of services"} |
| Gaudi::Property< std::vector< std::string > > | m_svcOptMapping |
| SmartIF< IMessageSvc > | m_messageSvc |
| Reference to the message service. More... | |
| SmartIF< IRunable > | m_runable |
| Reference to the runable object. More... | |
| SmartIF< IEventProcessor > | m_processingMgr |
| Reference to processing manager object. More... | |
| SmartIF< IJobOptionsSvc > | m_jobOptionsSvc |
| Reference to JobOption service. More... | |
| SmartIF< IQueueingEventProcessor > | m_queueingProcessor |
| Reference to a queueing processing manager object. More... | |
| Gaudi::Property< int > | m_evtMax {this, "EvtMax", -1, "Number of events to be processed (-1 means all events)"} |
| Gaudi::Property< std::vector< std::string > > | m_extSvcNameList {this, "ExtSvc", {}, "List of external services names"} |
| Gaudi::Property< bool > | m_extSvcCreates |
| Gaudi::Property< std::vector< std::string > > | m_dllNameList {this, "Dlls", {}, "List of DDL's names"} |
| Gaudi::Property< std::string > | m_jobOptionsType {this, "JobOptionsType", "FILE", "Source type (e.g. dbase, file...)"} |
| Gaudi::Property< std::string > | m_jobOptionsPath {this, "JobOptionsPath", {}, "The \"file\" to look for properties"} |
| Gaudi::Property< std::string > | m_jobOptionsPreAction |
| Gaudi::Property< std::string > | m_jobOptionsPostAction |
| Gaudi::Property< std::string > | m_runableType {this, "Runable", "AppMgrRunable", "Runable type"} |
| Gaudi::Property< std::string > | m_eventLoopMgr {this, "EventLoop", "EventLoopMgr", "Processing manager type"} |
| Gaudi::Property< std::string > | m_evtsel {this, "EvtSel", {}, "Event selection"} |
| Gaudi::Property< std::string > | m_histPersName {this, "HistogramPersistency", "NONE", "Name of the Hist Pers Svc"} |
| Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::INFO, "Message output level"} |
| Gaudi::Property< std::string > | m_appName {this, "AppName", "ApplicationMgr", "The name of the application"} |
| Gaudi::Property< std::string > | m_appVersion {this, "AppVersion", {}, "The version of the application"} |
| Gaudi::Property< bool > | m_actHistory {this, "ActivateHistory", false, "Activate HistorySvc"} |
| Gaudi::Property< bool > | m_codeCheck {this, "StatusCodeCheck", false, "Activate StatusCode checking"} |
| Gaudi::Property< int > | m_pluginDebugLevel |
| Gaudi::Property< std::vector< std::string > > | m_createSvcNameList |
| Gaudi::Property< bool > | m_auditTools {this, "AuditTools", false} |
| Defaults for auditors. More... | |
| Gaudi::Property< bool > | m_auditSvcs {this, "AuditServices", false} |
| Gaudi::Property< bool > | m_auditAlgs {this, "AuditAlgorithms", false} |
| Gaudi::Property< std::map< std::string, std::string > > | m_environment |
| Gaudi::Property< bool > | m_loopCheck |
| Gaudi::Property< bool > | m_stopOnSignal |
| Property to enable/disable the "stop on signal" service. More... | |
| Gaudi::Property< bool > | m_stalledEventMonitoring |
| Property to enable/disable the monitoring and reporting of stalled events. More... | |
| Gaudi::Property< bool > | m_propertiesPrint |
| Gaudi::Property< int > | m_returnCode |
| Property to record the error conditions occurring during the running. More... | |
| Gaudi::Property< bool > | m_printAlgsSequence |
| bool | m_useHiveAlgorithmManager |
Static Private Member Functions | |
| template<typename SELF , typename PIMPL , typename METHOD , typename... ARGS> | |
| static auto | i_delegateToEvtProc (SELF *self, PIMPL &member, std::string_view method_name, METHOD &&method, ARGS &&... args) |
| Helper to delegate calls to event processor implementation. More... | |
Private Attributes | |
| std::vector< std::string > | m_okDlls |
| names of successfully loaded dlls More... | |
Additional Inherited Members | |
Public Types inherited from PropertyHolder< CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > > | |
| using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > > |
| Typedef used to refer to this class from derived classes, as in. More... | |
Public Types inherited from CommonMessaging< implements< IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService, IStateful, INamedInterface, IProperty > > | |
| using | base_class = CommonMessaging |
The Application Manager class.
The main purpose of the Application Manager is to steer any data processing application. This includes all data processing applications for LHCb data in all stages: simulation, reconstruction, analysis, high level triggers, etc. Specific implementations of the ApplicationMgr will be developed to cope with the different environments (on-line, off-line, interactive, batch, etc.).
Definition at line 45 of file ApplicationMgr.h.
|
protected |
Typedef for the map of component managers, the key is the "id" field of the basic InterfaceID of the managed components.
Definition at line 162 of file ApplicationMgr.h.
| ApplicationMgr::ApplicationMgr | ( | IInterface * | = nullptr | ) |
Definition at line 48 of file ApplicationMgr.cpp.
|
inline |
Definition at line 132 of file ApplicationMgr.h.
|
override |
Definition at line 221 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::createEventContext()
Definition at line 809 of file ApplicationMgr.cpp.
| void ApplicationMgr::createSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | ) |
Definition at line 915 of file ApplicationMgr.cpp.
| StatusCode ApplicationMgr::decodeCreateSvcNameList | ( | ) |
Definition at line 924 of file ApplicationMgr.cpp.
| StatusCode ApplicationMgr::decodeDllNameList | ( | ) |
Definition at line 996 of file ApplicationMgr.cpp.
| StatusCode ApplicationMgr::decodeExtSvcNameList | ( | ) |
Definition at line 958 of file ApplicationMgr.cpp.
| void ApplicationMgr::dllNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 987 of file ApplicationMgr.cpp.
|
override |
Definition at line 801 of file ApplicationMgr.cpp.
| void ApplicationMgr::evtLoopPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 905 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeEvent(void*)
Definition at line 787 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeRun(int)
Definition at line 820 of file ApplicationMgr.cpp.
| void ApplicationMgr::extSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 948 of file ApplicationMgr.cpp.
|
override |
Definition at line 572 of file ApplicationMgr.cpp.
|
override |
Definition at line 848 of file ApplicationMgr.cpp.
|
inline |
Definition at line 122 of file ApplicationMgr.h.
|
protected |
Reach a state from current state (whichever it is) going through the correct transitions.
By default, if a transition fails, the chain is interrupted, but the behavior can be changed with the parameter "gnoreFailures"
Definition at line 675 of file ApplicationMgr.cpp.
|
inlinestaticprivate |
Helper to delegate calls to event processor implementation.
Definition at line 298 of file ApplicationMgr.h.
|
protected |
Internal startup routine.
Definition at line 111 of file ApplicationMgr.cpp.
|
override |
Definition at line 409 of file ApplicationMgr.cpp.
|
override |
Definition at line 845 of file ApplicationMgr.cpp.
|
override |
Definition at line 512 of file ApplicationMgr.cpp.
|
override |
Function to call to update the outputLevel of the components (after a change in MessageSvc).
Definition at line 1070 of file ApplicationMgr.cpp.
| void ApplicationMgr::pluginDebugPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
|
override |
Definition at line 805 of file ApplicationMgr.cpp.
| void ApplicationMgr::printAlgsSequences | ( | ) |
Print the sequence of algorithms that have been loaded.
Definition at line 1096 of file ApplicationMgr.cpp.
|
override |
Definition at line 796 of file ApplicationMgr.cpp.
|
override |
Definition at line 85 of file ApplicationMgr.cpp.
|
override |
Definition at line 855 of file ApplicationMgr.cpp.
|
override |
Definition at line 882 of file ApplicationMgr.cpp.
|
override |
Definition at line 761 of file ApplicationMgr.cpp.
|
inlineoverride |
Needed to locate the message service.
Definition at line 139 of file ApplicationMgr.h.
|
inlineoverrideprotected |
Definition at line 149 of file ApplicationMgr.h.
|
override |
Definition at line 470 of file ApplicationMgr.cpp.
|
override |
Definition at line 529 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::stopRun()
Definition at line 834 of file ApplicationMgr.cpp.
|
inline |
Definition at line 126 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 97 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 91 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 99 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 101 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 93 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 95 of file ApplicationMgr.h.
|
override |
Definition at line 850 of file ApplicationMgr.cpp.
|
override |
Definition at line 621 of file ApplicationMgr.cpp.
|
protected |
Definition at line 243 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of algorithms.
Definition at line 174 of file ApplicationMgr.h.
|
protected |
Definition at line 241 of file ApplicationMgr.h.
|
protected |
Definition at line 242 of file ApplicationMgr.h.
|
protected |
Definition at line 261 of file ApplicationMgr.h.
|
protected |
Definition at line 260 of file ApplicationMgr.h.
|
protected |
Defaults for auditors.
Definition at line 259 of file ApplicationMgr.h.
|
protected |
Reference to the class manager.
Definition at line 179 of file ApplicationMgr.h.
|
protected |
Definition at line 244 of file ApplicationMgr.h.
|
protected |
Definition at line 255 of file ApplicationMgr.h.
|
protected |
Property to declare the list of known managers.
Definition at line 168 of file ApplicationMgr.h.
|
protected |
Definition at line 229 of file ApplicationMgr.h.
|
protected |
Definition at line 263 of file ApplicationMgr.h.
|
protected |
Definition at line 237 of file ApplicationMgr.h.
|
protected |
Definition at line 224 of file ApplicationMgr.h.
|
protected |
Definition at line 238 of file ApplicationMgr.h.
|
protected |
Definition at line 226 of file ApplicationMgr.h.
|
protected |
Definition at line 225 of file ApplicationMgr.h.
|
protected |
Definition at line 239 of file ApplicationMgr.h.
|
protected |
Definition at line 231 of file ApplicationMgr.h.
|
protected |
Definition at line 234 of file ApplicationMgr.h.
|
protected |
Definition at line 232 of file ApplicationMgr.h.
|
protected |
Reference to JobOption service.
Definition at line 217 of file ApplicationMgr.h.
|
protected |
Definition at line 204 of file ApplicationMgr.h.
|
protected |
Definition at line 230 of file ApplicationMgr.h.
|
protected |
Definition at line 266 of file ApplicationMgr.h.
|
protected |
Map of known component managers.
It contains (at least) the managers for IService and IAlgorithm. IAlgTool and IAuditor are not mandatory (but a missing manager for IAlgTool will probably not allow any job to run).
Definition at line 166 of file ApplicationMgr.h.
|
protected |
Reference to the message service.
Definition at line 214 of file ApplicationMgr.h.
|
protected |
Definition at line 203 of file ApplicationMgr.h.
|
protected |
Name.
Definition at line 206 of file ApplicationMgr.h.
|
private |
names of successfully loaded dlls
Definition at line 294 of file ApplicationMgr.h.
|
protected |
Definition at line 240 of file ApplicationMgr.h.
|
protected |
Definition at line 198 of file ApplicationMgr.h.
|
protected |
Definition at line 200 of file ApplicationMgr.h.
|
protected |
Definition at line 245 of file ApplicationMgr.h.
|
protected |
Definition at line 287 of file ApplicationMgr.h.
|
protected |
Reference to processing manager object.
Definition at line 216 of file ApplicationMgr.h.
|
protected |
Definition at line 280 of file ApplicationMgr.h.
|
protected |
Reference to a queueing processing manager object.
Definition at line 219 of file ApplicationMgr.h.
|
protected |
Property to record the error conditions occurring during the running.
Definition at line 284 of file ApplicationMgr.h.
Reference to the runable object.
Definition at line 215 of file ApplicationMgr.h.
|
protected |
Definition at line 236 of file ApplicationMgr.h.
|
protected |
|
protected |
Definition at line 181 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the monitoring and reporting of stalled events.
Definition at line 277 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 207 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the "stop on signal" service.
Definition at line 272 of file ApplicationMgr.h.
|
mutableprotected |
Reference to its own service locator (must be instantiated prior to any service!)
Definition at line 177 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of services.
Definition at line 171 of file ApplicationMgr.h.
|
protected |
Definition at line 210 of file ApplicationMgr.h.
|
protected |
Definition at line 211 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 208 of file ApplicationMgr.h.
|
protected |
Definition at line 196 of file ApplicationMgr.h.
|
protected |
Definition at line 291 of file ApplicationMgr.h.