The Gaudi Framework
v30r3 (a5ef0a68)
|
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 |
StatusCode | executeEvent (void *par) 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 |
void | SIGoHandler (Gaudi::Details::PropertyBase &theProp) |
void | SIExitHandler (Gaudi::Details::PropertyBase &theProp) |
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... | |
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) |
void | initLoopCheckHndlr (Gaudi::Details::PropertyBase &) |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAppMgrUI, IEventProcessor, 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, IEventProcessor, 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, IEventProcessor, IService, IStateful, INamedInterface, IProperty > > > | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IAppMgrUI, IEventProcessor, 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 {this, "Go", 0, "For SI's \"Go\" command via callback"} |
Gaudi::Property< int > | m_SIExit {this, "Exit", 0, "For SI's \"Exit\" command via callback"} |
Gaudi::Property< std::vector< std::string > > | m_topAlgNameList {this, "TopAlg", {}, "List of top level algorithms names"} |
Gaudi::Property< std::vector< std::string > > | m_outStreamNameList {this, "OutStream", {}, "List of output stream names"} |
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... | |
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 {this, "PluginDebugLevel", 0, "Debug level for the plugin system"} |
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... | |
bool | m_useHiveAlgorithmManager |
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, IEventProcessor, IService, IStateful, INamedInterface, IProperty > > > | |
using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAppMgrUI, IEventProcessor, IService, IStateful, INamedInterface, IProperty > > > |
Typedef used to refer to this class from derived classes, as in. More... | |
Public Types inherited from CommonMessaging< implements< IAppMgrUI, IEventProcessor, 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 47 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 167 of file ApplicationMgr.h.
ApplicationMgr::ApplicationMgr | ( | IInterface * | = nullptr | ) |
Definition at line 47 of file ApplicationMgr.cpp.
|
inline |
Definition at line 137 of file ApplicationMgr.h.
|
override |
Definition at line 241 of file ApplicationMgr.cpp.
void ApplicationMgr::createSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | ) |
Definition at line 947 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeCreateSvcNameList | ( | ) |
Definition at line 957 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeDllNameList | ( | ) |
Definition at line 1034 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeExtSvcNameList | ( | ) |
Definition at line 994 of file ApplicationMgr.cpp.
void ApplicationMgr::dllNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 1024 of file ApplicationMgr.cpp.
void ApplicationMgr::evtLoopPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 936 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeEvent(void*)
Definition at line 814 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeRun(int)
Definition at line 829 of file ApplicationMgr.cpp.
void ApplicationMgr::extSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 983 of file ApplicationMgr.cpp.
|
override |
Definition at line 579 of file ApplicationMgr.cpp.
|
override |
Definition at line 863 of file ApplicationMgr.cpp.
|
inline |
Definition at line 123 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 690 of file ApplicationMgr.cpp.
|
protected |
Internal startup routine.
Definition at line 130 of file ApplicationMgr.cpp.
|
override |
Definition at line 432 of file ApplicationMgr.cpp.
void ApplicationMgr::initLoopCheckHndlr | ( | Gaudi::Details::PropertyBase & | ) |
Definition at line 1124 of file ApplicationMgr.cpp.
|
override |
Definition at line 860 of file ApplicationMgr.cpp.
|
override |
Definition at line 523 of file ApplicationMgr.cpp.
|
override |
Function to call to update the outputLevel of the components (after a change in MessageSvc).
Definition at line 1129 of file ApplicationMgr.cpp.
void ApplicationMgr::pluginDebugPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 1113 of file ApplicationMgr.cpp.
|
override |
Definition at line 93 of file ApplicationMgr.cpp.
|
override |
Definition at line 870 of file ApplicationMgr.cpp.
|
override |
Definition at line 891 of file ApplicationMgr.cpp.
|
override |
Definition at line 785 of file ApplicationMgr.cpp.
|
inlineoverride |
Needed to locate the message service.
Definition at line 147 of file ApplicationMgr.h.
|
inlineoverrideprotected |
Definition at line 154 of file ApplicationMgr.h.
void ApplicationMgr::SIExitHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 925 of file ApplicationMgr.cpp.
void ApplicationMgr::SIGoHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 908 of file ApplicationMgr.cpp.
|
override |
Definition at line 489 of file ApplicationMgr.cpp.
|
override |
Definition at line 541 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::stopRun()
Definition at line 846 of file ApplicationMgr.cpp.
|
inline |
Definition at line 128 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 98 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 92 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 100 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 102 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 94 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 96 of file ApplicationMgr.h.
|
override |
Definition at line 865 of file ApplicationMgr.cpp.
|
override |
Definition at line 631 of file ApplicationMgr.cpp.
|
protected |
Definition at line 231 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of algorithms.
Definition at line 179 of file ApplicationMgr.h.
|
protected |
Definition at line 229 of file ApplicationMgr.h.
|
protected |
Definition at line 230 of file ApplicationMgr.h.
|
protected |
Definition at line 241 of file ApplicationMgr.h.
|
protected |
Definition at line 240 of file ApplicationMgr.h.
|
protected |
Defaults for auditors.
Definition at line 239 of file ApplicationMgr.h.
|
protected |
Reference to the class manager.
Definition at line 184 of file ApplicationMgr.h.
|
protected |
Definition at line 232 of file ApplicationMgr.h.
|
protected |
Definition at line 235 of file ApplicationMgr.h.
|
protected |
Property to declare the list of known managers.
Definition at line 173 of file ApplicationMgr.h.
|
protected |
Definition at line 217 of file ApplicationMgr.h.
|
protected |
Definition at line 243 of file ApplicationMgr.h.
|
protected |
Definition at line 225 of file ApplicationMgr.h.
|
protected |
Definition at line 212 of file ApplicationMgr.h.
|
protected |
Definition at line 226 of file ApplicationMgr.h.
|
protected |
Definition at line 214 of file ApplicationMgr.h.
|
protected |
Definition at line 213 of file ApplicationMgr.h.
|
protected |
Definition at line 227 of file ApplicationMgr.h.
|
protected |
Definition at line 219 of file ApplicationMgr.h.
|
protected |
Definition at line 222 of file ApplicationMgr.h.
|
protected |
Definition at line 220 of file ApplicationMgr.h.
|
protected |
Reference to JobOption service.
Definition at line 206 of file ApplicationMgr.h.
|
protected |
Definition at line 193 of file ApplicationMgr.h.
|
protected |
Definition at line 218 of file ApplicationMgr.h.
|
protected |
Definition at line 246 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 171 of file ApplicationMgr.h.
|
protected |
Reference to the message service.
Definition at line 203 of file ApplicationMgr.h.
|
protected |
Definition at line 192 of file ApplicationMgr.h.
|
protected |
Name.
Definition at line 195 of file ApplicationMgr.h.
|
private |
names of successfully loaded dlls
Definition at line 270 of file ApplicationMgr.h.
|
protected |
Definition at line 228 of file ApplicationMgr.h.
|
protected |
Definition at line 189 of file ApplicationMgr.h.
|
protected |
Definition at line 190 of file ApplicationMgr.h.
|
protected |
Definition at line 233 of file ApplicationMgr.h.
|
protected |
Reference to processing manager object.
Definition at line 205 of file ApplicationMgr.h.
|
protected |
Definition at line 259 of file ApplicationMgr.h.
|
protected |
Property to record the error conditions occurring during the running.
Definition at line 263 of file ApplicationMgr.h.
Reference to the runable object.
Definition at line 204 of file ApplicationMgr.h.
|
protected |
Definition at line 224 of file ApplicationMgr.h.
|
protected |
Definition at line 187 of file ApplicationMgr.h.
|
protected |
Definition at line 186 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the monitoring and reporting of stalled events.
Definition at line 256 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 196 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the "stop on signal" service.
Definition at line 251 of file ApplicationMgr.h.
|
mutableprotected |
Reference to its own service locator (must be instantiated prior to any service!)
Definition at line 182 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of services.
Definition at line 176 of file ApplicationMgr.h.
|
protected |
Definition at line 199 of file ApplicationMgr.h.
|
protected |
Definition at line 200 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 197 of file ApplicationMgr.h.
|
protected |
Definition at line 188 of file ApplicationMgr.h.
|
protected |
Definition at line 267 of file ApplicationMgr.h.