![]() |
The Gaudi Framework
v27r0
|
The Application Manager class. More...
#include <src/ApplicationMgr/ApplicationMgr.h>
Public Types | |
typedef std::list< std::pair< IService *, int > > | ListSvc |
typedef std::vector< std::string > | VectorName |
![]() | |
using | base_class = CommonMessaging |
using | base_class = CommonMessaging |
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 (Property &theProp) |
void | SIExitHandler (Property &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... | |
Property handlers | |
void | evtLoopPropertyHandler (Property &theProp) |
StatusCode | decodeExtSvcNameList () |
StatusCode | decodeCreateSvcNameList () |
void | createSvcNameListHandler (Property &) |
void | extSvcNameListHandler (Property &theProp) |
StatusCode | decodeMultiThreadSvcNameList () |
void | multiThreadSvcNameListHandler (Property &theProp) |
StatusCode | decodeDllNameList () |
void | dllNameListHandler (Property &theProp) |
void | pluginDebugPropertyHandler (Property &theProp) |
void | initLoopCheckHndlr (Property &) |
![]() | |
~CommonMessaging () override=default | |
Virtual destructor. More... | |
~CommonMessaging () override=default | |
Virtual destructor. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. 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 & | 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 & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () 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 & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) 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... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream 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... | |
![]() | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. 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... | |
StringArrayProperty | 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... | |
SmartIF< PropertyMgr > | m_propertyMgr |
Reference to Property Manager. More... | |
IntegerProperty | m_SIGo |
For SI's "Go" command via callback. More... | |
IntegerProperty | m_SIExit |
For SI's "Exit" command via callback. More... | |
StringArrayProperty | m_topAlgNameList |
List of top level algorithms names. More... | |
StringArrayProperty | m_outStreamNameList |
List of output stream names. More... | |
StringProperty | m_outStreamType |
Output stream type (obsolete?) More... | |
StringProperty | m_messageSvcType |
MessageSvc type. More... | |
StringProperty | m_jobOptionsSvcType |
JobOptionsSvc type. More... | |
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... | |
VectorName | m_defServices |
Vector default services names. More... | |
VectorName | m_svcMapping |
Default mapping of services. More... | |
VectorName | m_svcOptMapping |
Default mapping of services. More... | |
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... | |
int | m_evtMax |
Number of events to be processed. More... | |
StringArrayProperty | m_extSvcNameList |
List of external services names. More... | |
BooleanProperty | m_extSvcCreates |
LHCb or ATLAS defn of "ExtSvc". More... | |
StringArrayProperty | m_multiThreadSvcNameList |
List of external services names for which we want a copy per evt thread. More... | |
int | m_noOfEvtThreads |
no of multiThreadSvc copies More... | |
StringArrayProperty | m_dllNameList |
List of DDL's names. More... | |
std::string | m_jobOptionsType |
Source type (e.g. dbase, file...) More... | |
std::string | m_jobOptionsPath |
The "file" to look for properties. More... | |
std::string | m_jobOptionsPreAction |
additional command to run on config More... | |
std::string | m_jobOptionsPostAction |
additional command to run on config More... | |
std::string | m_runableType |
Runable type. More... | |
std::string | m_eventLoopMgr |
Processing manager type. More... | |
std::string | m_evtsel |
Event selection. More... | |
std::string | m_histPersName |
CGL: Name of the Hist Pers Svc. More... | |
int | m_outputLevel |
Message output level. More... | |
std::string | m_appName |
The name of the application. More... | |
std::string | m_appVersion |
The version of the application. More... | |
bool | m_actHistory |
Activate HistorySvc. More... | |
bool | m_codeCheck |
Activate StatusCode checking. More... | |
IntegerProperty | m_pluginDebugLevel |
Debug level for the plugin system. More... | |
StringArrayProperty | m_createSvcNameList |
BooleanProperty | m_auditTools |
Defaults for auditors. More... | |
BooleanProperty | m_auditSvcs |
BooleanProperty | m_auditAlgs |
std::map< std::string, std::string > | m_environment |
Environment variables to set. More... | |
BooleanProperty | m_loopCheck |
For ServiceMgr initialization loop checking. More... | |
BooleanProperty | m_stopOnSignal |
Property to enable/disable the "stop on signal" service (enabled by default). More... | |
BooleanProperty | m_stalledEventMonitoring |
Property to enable/disable the monitoring and reporting of stalled events (enabled by default). More... | |
bool | m_propertiesPrint |
flag to activate the printout of properties More... | |
IntegerProperty | m_returnCode |
Property to record the error conditions occurring during the running. More... | |
bool | m_useHiveAlgorithmManager |
![]() | |
SmartIF< IMessageSvc > | m_msgsvc |
Pointer to the message service;. More... | |
std::unique_ptr< MsgStream > | m_msgStream |
The predefined message stream. More... | |
bool | m_streamWithService |
Flag to create a new MsgStream if it was created without the message service. More... | |
Private Types | |
typedef CommonMessaging< implements4< IAppMgrUI, IEventProcessor, IService, IStateful > > | base_class |
Private Attributes | |
std::vector< std::string > | m_okDlls |
names of successfully loaded dlls More... | |
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 46 of file ApplicationMgr.h.
|
private |
Definition at line 53 of file ApplicationMgr.h.
typedef std::list<std::pair<IService*,int> > ApplicationMgr::ListSvc |
Definition at line 55 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 182 of file ApplicationMgr.h.
typedef std::vector<std::string> ApplicationMgr::VectorName |
Definition at line 56 of file ApplicationMgr.h.
ApplicationMgr::ApplicationMgr | ( | IInterface * | = nullptr | ) |
Definition at line 53 of file ApplicationMgr.cpp.
|
overridedefault |
|
protected |
add one or more copies of svc type/name as determined by NoOfThreads
Definition at line 1168 of file ApplicationMgr.cpp.
|
inline |
Definition at line 147 of file ApplicationMgr.h.
|
override |
Definition at line 311 of file ApplicationMgr.cpp.
void ApplicationMgr::createSvcNameListHandler | ( | Property & | ) |
Definition at line 1019 of file ApplicationMgr.cpp.
|
protected |
declare one or more copies of svc type/name as determined by NoOfThreads
Definition at line 1135 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeCreateSvcNameList | ( | ) |
Definition at line 1029 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeDllNameList | ( | ) |
Definition at line 1216 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeExtSvcNameList | ( | ) |
Definition at line 1065 of file ApplicationMgr.cpp.
StatusCode ApplicationMgr::decodeMultiThreadSvcNameList | ( | ) |
Definition at line 1107 of file ApplicationMgr.cpp.
void ApplicationMgr::dllNameListHandler | ( | Property & | theProp | ) |
Definition at line 1205 of file ApplicationMgr.cpp.
void ApplicationMgr::evtLoopPropertyHandler | ( | Property & | theProp | ) |
Definition at line 1009 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeEvent(void*)
Definition at line 883 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::executeRun(int)
Definition at line 898 of file ApplicationMgr.cpp.
void ApplicationMgr::extSvcNameListHandler | ( | Property & | theProp | ) |
Definition at line 1054 of file ApplicationMgr.cpp.
|
override |
Definition at line 677 of file ApplicationMgr.cpp.
|
override |
Definition at line 934 of file ApplicationMgr.cpp.
|
inline |
Definition at line 135 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 786 of file ApplicationMgr.cpp.
|
protected |
Internal startup routine.
Definition at line 200 of file ApplicationMgr.cpp.
|
override |
Definition at line 532 of file ApplicationMgr.cpp.
void ApplicationMgr::initLoopCheckHndlr | ( | Property & | ) |
Definition at line 1304 of file ApplicationMgr.cpp.
void ApplicationMgr::multiThreadSvcNameListHandler | ( | Property & | theProp | ) |
Definition at line 1095 of file ApplicationMgr.cpp.
|
override |
Definition at line 929 of file ApplicationMgr.cpp.
|
override |
Definition at line 620 of file ApplicationMgr.cpp.
void ApplicationMgr::pluginDebugPropertyHandler | ( | Property & | theProp | ) |
Definition at line 1290 of file ApplicationMgr.cpp.
|
override |
Definition at line 165 of file ApplicationMgr.cpp.
|
override |
Definition at line 946 of file ApplicationMgr.cpp.
|
override |
Definition at line 966 of file ApplicationMgr.cpp.
|
override |
Definition at line 853 of file ApplicationMgr.cpp.
|
inlineoverride |
Needed to locate the message service.
Definition at line 156 of file ApplicationMgr.h.
|
inlineoverrideprotected |
Definition at line 169 of file ApplicationMgr.h.
void ApplicationMgr::SIExitHandler | ( | Property & | theProp | ) |
Definition at line 999 of file ApplicationMgr.cpp.
void ApplicationMgr::SIGoHandler | ( | Property & | theProp | ) |
Definition at line 983 of file ApplicationMgr.cpp.
|
override |
Definition at line 586 of file ApplicationMgr.cpp.
|
override |
Definition at line 639 of file ApplicationMgr.cpp.
|
override |
implementation of IEventProcessor::stopRun()
Definition at line 915 of file ApplicationMgr.cpp.
|
inline |
Definition at line 139 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 108 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 102 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 110 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 112 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 104 of file ApplicationMgr.h.
|
inlineoverride |
Definition at line 106 of file ApplicationMgr.h.
|
override |
Definition at line 938 of file ApplicationMgr.cpp.
|
override |
Definition at line 727 of file ApplicationMgr.cpp.
|
protected |
Activate HistorySvc.
Definition at line 247 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of algorithms.
Definition at line 194 of file ApplicationMgr.h.
|
protected |
The name of the application.
Definition at line 245 of file ApplicationMgr.h.
|
protected |
The version of the application.
Definition at line 246 of file ApplicationMgr.h.
|
protected |
Definition at line 256 of file ApplicationMgr.h.
|
protected |
Definition at line 255 of file ApplicationMgr.h.
|
protected |
Defaults for auditors.
Definition at line 254 of file ApplicationMgr.h.
|
protected |
Reference to the class manager.
Definition at line 199 of file ApplicationMgr.h.
|
protected |
Activate StatusCode checking.
Definition at line 248 of file ApplicationMgr.h.
|
protected |
Definition at line 251 of file ApplicationMgr.h.
|
protected |
Property to declare the list of known managers.
Definition at line 188 of file ApplicationMgr.h.
|
protected |
Vector default services names.
Definition at line 214 of file ApplicationMgr.h.
|
protected |
List of DDL's names.
Definition at line 235 of file ApplicationMgr.h.
|
protected |
Environment variables to set.
Definition at line 258 of file ApplicationMgr.h.
|
protected |
Processing manager type.
Definition at line 241 of file ApplicationMgr.h.
|
protected |
Number of events to be processed.
Definition at line 227 of file ApplicationMgr.h.
|
protected |
Event selection.
Definition at line 242 of file ApplicationMgr.h.
|
protected |
LHCb or ATLAS defn of "ExtSvc".
Definition at line 229 of file ApplicationMgr.h.
|
protected |
List of external services names.
Definition at line 228 of file ApplicationMgr.h.
|
protected |
CGL: Name of the Hist Pers Svc.
Definition at line 243 of file ApplicationMgr.h.
|
protected |
The "file" to look for properties.
Definition at line 237 of file ApplicationMgr.h.
|
protected |
additional command to run on config
Definition at line 239 of file ApplicationMgr.h.
|
protected |
additional command to run on config
Definition at line 238 of file ApplicationMgr.h.
|
protected |
Reference to JobOption service.
Definition at line 221 of file ApplicationMgr.h.
|
protected |
JobOptionsSvc type.
Definition at line 208 of file ApplicationMgr.h.
|
protected |
Source type (e.g. dbase, file...)
Definition at line 236 of file ApplicationMgr.h.
|
protected |
For ServiceMgr initialization loop checking.
Definition at line 261 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 186 of file ApplicationMgr.h.
|
protected |
Reference to the message service.
Definition at line 218 of file ApplicationMgr.h.
|
protected |
MessageSvc type.
Definition at line 207 of file ApplicationMgr.h.
|
protected |
List of external services names for which we want a copy per evt thread.
Definition at line 232 of file ApplicationMgr.h.
|
protected |
Name.
Definition at line 210 of file ApplicationMgr.h.
|
protected |
no of multiThreadSvc copies
Definition at line 233 of file ApplicationMgr.h.
|
private |
names of successfully loaded dlls
Definition at line 281 of file ApplicationMgr.h.
|
protected |
Message output level.
Definition at line 244 of file ApplicationMgr.h.
|
protected |
List of output stream names.
Definition at line 205 of file ApplicationMgr.h.
|
protected |
Output stream type (obsolete?)
Definition at line 206 of file ApplicationMgr.h.
|
protected |
Debug level for the plugin system.
Definition at line 249 of file ApplicationMgr.h.
|
protected |
Reference to processing manager object.
Definition at line 220 of file ApplicationMgr.h.
|
protected |
flag to activate the printout of properties
Definition at line 272 of file ApplicationMgr.h.
|
protected |
Reference to Property Manager.
Definition at line 200 of file ApplicationMgr.h.
|
protected |
Property to record the error conditions occurring during the running.
Definition at line 275 of file ApplicationMgr.h.
Reference to the runable object.
Definition at line 219 of file ApplicationMgr.h.
|
protected |
Runable type.
Definition at line 240 of file ApplicationMgr.h.
|
protected |
For SI's "Exit" command via callback.
Definition at line 203 of file ApplicationMgr.h.
|
protected |
For SI's "Go" command via callback.
Definition at line 202 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the monitoring and reporting of stalled events (enabled by default).
Definition at line 269 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 211 of file ApplicationMgr.h.
|
protected |
Property to enable/disable the "stop on signal" service (enabled by default).
Definition at line 265 of file ApplicationMgr.h.
|
mutableprotected |
Reference to its own service locator (must be instantiated prior to any service!)
Definition at line 198 of file ApplicationMgr.h.
|
protected |
Cached pointer to the manager of services.
Definition at line 191 of file ApplicationMgr.h.
|
protected |
Default mapping of services.
Definition at line 215 of file ApplicationMgr.h.
|
protected |
Default mapping of services.
Definition at line 216 of file ApplicationMgr.h.
|
protected |
Internal State.
Definition at line 212 of file ApplicationMgr.h.
|
protected |
List of top level algorithms names.
Definition at line 204 of file ApplicationMgr.h.
|
protected |
Definition at line 278 of file ApplicationMgr.h.