The Gaudi Framework
v29r0 (ff2e7097)
|
The Application Manager class. More...
#include <src/ApplicationMgr/ApplicationMgr.h>
Public Member Functions | |
ApplicationMgr (IInterface *=nullptr) | |
~ApplicationMgr () override=default | |
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... | |
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 | decodeMultiThreadSvcNameList () |
void | multiThreadSvcNameListHandler (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 | |
~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") |
Public Member Functions inherited from CommonMessagingBase | |
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... | |
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 | |
StatusCode | declareMultiSvcType (const std::string &name, const std::string &type) |
declare one or more copies of svc type/name as determined by NoOfThreads More... | |
StatusCode | addMultiSvc (const Gaudi::Utils::TypeNameString &typeName, int prio) |
add one or more copies of svc type/name as determined by NoOfThreads More... | |
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 > > | |
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_multiThreadSvcNameList {this, "MultiThreadExtSvc"} |
List of external services names for which we want a copy per evt thread. More... | |
Gaudi::Property< int > | m_noOfEvtThreads {this, "NoOfThreads", 0, "MultiThreadSvc copies"} |
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 173 of file ApplicationMgr.h.
ApplicationMgr::ApplicationMgr | ( | IInterface * | = nullptr | ) |
Definition at line 47 of file ApplicationMgr.cpp.
|
overridedefault |
|
protected |
add one or more copies of svc type/name as determined by NoOfThreads
Definition at line 1087 of file ApplicationMgr.cpp.
|
inline |
Definition at line 141 of file ApplicationMgr.h.
|
override |
Definition at line 234 of file ApplicationMgr.cpp.
void ApplicationMgr::createSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | ) |
Definition at line 942 of file ApplicationMgr.cpp.
|
protected |
declare one or more copies of svc type/name as determined by NoOfThreads
Definition at line 1058 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeCreateSvcNameList | ( | ) |
Definition at line 952 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeDllNameList | ( | ) |
Definition at line 1130 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeExtSvcNameList | ( | ) |
Definition at line 989 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeMultiThreadSvcNameList | ( | ) |
Definition at line 1030 of file ApplicationMgr.cpp.
void ApplicationMgr::dllNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 1120 of file ApplicationMgr.cpp.
void ApplicationMgr::evtLoopPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 931 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeEvent(void*)
Definition at line 809 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeRun(int)
Definition at line 824 of file ApplicationMgr.cpp.
void ApplicationMgr::extSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 978 of file ApplicationMgr.cpp.
|
override |
Definition at line 574 of file ApplicationMgr.cpp.
|
override |
Definition at line 858 of file ApplicationMgr.cpp.
|
inline |
Definition at line 127 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 685 of file ApplicationMgr.cpp.
|
protected |
Internal startup routine.
Definition at line 130 of file ApplicationMgr.cpp.
|
override |
Definition at line 430 of file ApplicationMgr.cpp.
void ApplicationMgr::initLoopCheckHndlr | ( | Gaudi::Details::PropertyBase & | ) |
Definition at line 1220 of file ApplicationMgr.cpp.
void ApplicationMgr::multiThreadSvcNameListHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 1019 of file ApplicationMgr.cpp.
|
override |
Definition at line 855 of file ApplicationMgr.cpp.
|
override |
Definition at line 518 of file ApplicationMgr.cpp.
void ApplicationMgr::pluginDebugPropertyHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 1209 of file ApplicationMgr.cpp.
|
override |
Definition at line 93 of file ApplicationMgr.cpp.
|
override |
Definition at line 865 of file ApplicationMgr.cpp.
|
override |
Definition at line 886 of file ApplicationMgr.cpp.
|
override |
Definition at line 780 of file ApplicationMgr.cpp.
|
inlineoverride |
Needed to locate the message service.
Definition at line 151 of file ApplicationMgr.h.
|
inlineoverrideprotected |
Definition at line 160 of file ApplicationMgr.h.
void ApplicationMgr::SIExitHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 920 of file ApplicationMgr.cpp.
void ApplicationMgr::SIGoHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
Definition at line 903 of file ApplicationMgr.cpp.
|
override |
Definition at line 484 of file ApplicationMgr.cpp.
|
override |
Definition at line 536 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::stopRun()
Definition at line 841 of file ApplicationMgr.cpp.
|
inline |
Definition at line 132 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 100 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 94 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 102 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 104 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 96 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 98 of file ApplicationMgr.h.
|
override |
Definition at line 860 of file ApplicationMgr.cpp.
|
override |
Definition at line 626 of file ApplicationMgr.cpp.
|
protected |
Definition at line 241 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of algorithms.
Definition at line 185 of file ApplicationMgr.h.
|
protected |
Definition at line 239 of file ApplicationMgr.h.
|
protected |
Definition at line 240 of file ApplicationMgr.h.
|
protected |
Definition at line 251 of file ApplicationMgr.h.
|
protected |
Definition at line 250 of file ApplicationMgr.h.
|
protected |
Defaults for auditors.
Definition at line 249 of file ApplicationMgr.h.
|
protected |
Reference to the class manager.
Definition at line 190 of file ApplicationMgr.h.
|
protected |
Definition at line 242 of file ApplicationMgr.h.
|
protected |
Definition at line 245 of file ApplicationMgr.h.
|
protected |
Property to declare the list of known managers.
Definition at line 179 of file ApplicationMgr.h.
|
protected |
Definition at line 227 of file ApplicationMgr.h.
|
protected |
Definition at line 253 of file ApplicationMgr.h.
|
protected |
Definition at line 235 of file ApplicationMgr.h.
|
protected |
Definition at line 218 of file ApplicationMgr.h.
|
protected |
Definition at line 236 of file ApplicationMgr.h.
|
protected |
Definition at line 220 of file ApplicationMgr.h.
|
protected |
Definition at line 219 of file ApplicationMgr.h.
|
protected |
Definition at line 237 of file ApplicationMgr.h.
|
protected |
Definition at line 229 of file ApplicationMgr.h.
|
protected |
Definition at line 232 of file ApplicationMgr.h.
|
protected |
Definition at line 230 of file ApplicationMgr.h.
|
protected |
Reference to JobOption service.
Definition at line 212 of file ApplicationMgr.h.
|
protected |
Definition at line 199 of file ApplicationMgr.h.
|
protected |
Definition at line 228 of file ApplicationMgr.h.
|
protected |
Definition at line 256 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 177 of file ApplicationMgr.h.
|
protected |
Reference to the message service.
Definition at line 209 of file ApplicationMgr.h.
|
protected |
Definition at line 198 of file ApplicationMgr.h.
|
protected |
List of external services names for which we want a copy per evt thread.
Definition at line 224 of file ApplicationMgr.h.
|
protected |
Name.
Definition at line 201 of file ApplicationMgr.h.
|
protected |
Definition at line 225 of file ApplicationMgr.h.
|
private |
names of successfully loaded dlls
Definition at line 280 of file ApplicationMgr.h.
|
protected |
Definition at line 238 of file ApplicationMgr.h.
|
protected |
Definition at line 195 of file ApplicationMgr.h.
|
protected |
Definition at line 196 of file ApplicationMgr.h.
|
protected |
Definition at line 243 of file ApplicationMgr.h.
|
protected |
Reference to processing manager object.
Definition at line 211 of file ApplicationMgr.h.
|
protected |
Definition at line 269 of file ApplicationMgr.h.
|
protected |
Property to record the error conditions occurring during the running.
Definition at line 273 of file ApplicationMgr.h.
Reference to the runable object.
Definition at line 210 of file ApplicationMgr.h.
|
protected |
Definition at line 234 of file ApplicationMgr.h.
|
protected |
Definition at line 193 of file ApplicationMgr.h.
|
protected |
Definition at line 192 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the monitoring and reporting of stalled events.
Definition at line 266 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 202 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the "stop on signal" service.
Definition at line 261 of file ApplicationMgr.h.
|
mutableprotected |
Reference to its own service locator (must be instantiated prior to any service!)
Definition at line 188 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of services.
Definition at line 182 of file ApplicationMgr.h.
|
protected |
Definition at line 205 of file ApplicationMgr.h.
|
protected |
Definition at line 206 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 203 of file ApplicationMgr.h.
|
protected |
Definition at line 194 of file ApplicationMgr.h.
|
protected |
Definition at line 277 of file ApplicationMgr.h.