1 #ifndef GAUDI_APPLICATIONMGR_H
2 #define GAUDI_APPLICATIONMGR_H
4 #include "GaudiKernel/Kernel.h"
5 #include "GaudiKernel/IAppMgrUI.h"
6 #include "GaudiKernel/IEventProcessor.h"
7 #include "GaudiKernel/IProperty.h"
8 #include "GaudiKernel/IStateful.h"
9 #include "GaudiKernel/IComponentManager.h"
10 #include "GaudiKernel/IAlgorithm.h"
11 #include "GaudiKernel/IAlgManager.h"
12 #include "GaudiKernel/ISvcManager.h"
13 #include "GaudiKernel/Service.h"
14 #include "GaudiKernel/CommonMessaging.h"
15 #include "GaudiKernel/PropertyMgr.h"
55 typedef std::list<std::pair<IService*,int> >
ListSvc;
85 const std::string&
name()
const override;
163 const std::string&
type);
182 typedef std::map<unsigned long, SmartIF<IComponentManager> >
ManagersMap;
283 #endif // GAUDI_APPLICATIONMGR_H
The ServiceManager class is in charge of the creation of concrete instances of Services.
void dllNameListHandler(Property &theProp)
Gaudi::StateMachine::State m_targetState
Internal State.
The AlgorithmManager class is in charge of the creation of concrete instances of Algorithms.
StatusCode initialize() override
std::string m_jobOptionsType
Source type (e.g. dbase, file...)
StringArrayProperty m_createSvcNameList
void createSvcNameListHandler(Property &)
StringArrayProperty m_outStreamNameList
List of output stream names.
StringProperty m_messageSvcType
MessageSvc type.
Base class used to implement the interfaces.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
StatusCode decodeDllNameList()
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 ...
SmartIF< IRunable > m_runable
Reference to the runable object.
std::list< std::pair< IService *, int > > ListSvc
int m_noOfEvtThreads
no of multiThreadSvc copies
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
ManagersMap m_managers
Map of known component managers.
StringArrayProperty m_declaredManagers
Property to declare the list of known managers.
std::string m_histPersName
CGL: Name of the Hist Pers Svc.
StatusCode sysStart() override
bool m_codeCheck
Activate StatusCode checking.
std::string m_jobOptionsPreAction
additional command to run on config
VectorName m_defServices
Vector default services names.
StringProperty m_outStreamType
Output stream type (obsolete?)
std::string m_appName
The name of the application.
IntegerProperty m_pluginDebugLevel
Debug level for the plugin system.
std::vector< std::string > m_okDlls
names of successfully loaded dlls
StatusCode sysRestart() override
std::map< std::string, std::string > m_environment
Environment variables to set.
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
StringArrayProperty m_dllNameList
List of DDL's names.
StatusCode sysFinalize() override
StatusCode nextEvent(int maxevt) override
SmartIF< IJobOptionsSvc > m_jobOptionsSvc
Reference to JobOption service.
CommonMessaging< implements4< IAppMgrUI, IEventProcessor, IService, IStateful > > base_class
std::string m_jobOptionsPostAction
additional command to run on config
SmartIF< IEventProcessor > m_processingMgr
Reference to processing manager object.
StatusCode terminate() override
SmartIF< ISvcManager > & svcManager()
int m_outputLevel
Message output level.
SmartIF< IComponentManager > & getManager()
StatusCode addMultiSvc(const Gaudi::Utils::TypeNameString &typeName, int prio)
add one or more copies of svc type/name as determined by NoOfThreads
int m_evtMax
Number of events to be processed.
StatusCode sysReinitialize() override
IntegerProperty m_returnCode
Property to record the error conditions occurring during the running.
void multiThreadSvcNameListHandler(Property &theProp)
Helper class to parse a string of format "type/name".
Main interface for the JobOptions service.
StatusCode executeRun(int evtmax) override
implementation of IEventProcessor::executeRun(int)
std::string m_jobOptionsPath
The "file" to look for properties.
BooleanProperty m_extSvcCreates
LHCb or ATLAS defn of "ExtSvc".
General service interface definition.
VectorName m_svcMapping
Default mapping of services.
SmartIF< ISvcLocator > m_svcLocator
Reference to its own service locator (must be instantiated prior to any service!) ...
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
bool m_actHistory
Activate HistorySvc.
BooleanProperty m_loopCheck
For ServiceMgr initialization loop checking.
The IMessage is the interface implemented by the message service.
StatusCode sysStop() override
SmartIF< ISvcLocator > & serviceLocator() const override
Needed to locate the message service.
StringArrayProperty m_topAlgNameList
List of top level algorithms names.
std::string m_evtsel
Event selection.
SmartIF< ISvcManager > m_svcManager
Cached pointer to the manager of services.
StatusCode GoToState(Gaudi::StateMachine::State state, bool ignoreFailures=false)
Reach a state from current state (whichever it is) going through the correct transitions.
StatusCode finalize() override
StringArrayProperty m_multiThreadSvcNameList
List of external services names for which we want a copy per evt thread.
VectorName m_svcOptMapping
Default mapping of services.
StatusCode executeEvent(void *par) override
implementation of IEventProcessor::executeEvent(void*)
The Application Manager class.
std::vector< std::string > VectorName
std::string m_runableType
Runable type.
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
StatusCode decodeExtSvcNameList()
SmartIF< PropertyMgr > m_propertyMgr
Reference to Property Manager.
Application Manager User Interface.
void initLoopCheckHndlr(Property &)
bool m_propertiesPrint
flag to activate the printout of properties
Property base class allowing Property* collections to be "homogeneous".
void SIGoHandler(Property &theProp)
SmartIF< DLLClassManager > m_classManager
Reference to the class manager.
StatusCode start() override
StatusCode restart() override
StatusCode configure() override
StringArrayProperty m_extSvcNameList
List of external services names.
ApplicationMgr(IInterface *=nullptr)
StringProperty m_jobOptionsSvcType
JobOptionsSvc type.
StatusCode stopRun() override
implementation of IEventProcessor::stopRun()
StatusCode decodeCreateSvcNameList()
void evtLoopPropertyHandler(Property &theProp)
~ApplicationMgr() override=default
BooleanProperty m_stalledEventMonitoring
Property to enable/disable the monitoring and reporting of stalled events (enabled by default)...
std::string m_eventLoopMgr
Processing manager type.
Runable interface definition.
The IEventProcessor is the interface to process events.
void SIExitHandler(Property &theProp)
SmartIF< IAlgManager > m_algManager
Cached pointer to the manager of algorithms.
StatusCode i_startup()
Internal startup routine.
StatusCode stop() override
IntegerProperty m_SIGo
For SI's "Go" command via callback.
BooleanProperty m_auditTools
Defaults for auditors.
BooleanProperty m_auditAlgs
StatusCode reinitialize() override
Gaudi::StateMachine::State m_state
Internal State.
Gaudi::StateMachine::State FSMState() const override
Interface for classes that implement the Gaudi State Machine.
StatusCode run() override
std::string typeName(const std::type_info &typ)
StatusCode decodeMultiThreadSvcNameList()
SmartIF< IAlgManager > & algManager()
void extSvcNameListHandler(Property &theProp)
void pluginDebugPropertyHandler(Property &theProp)
BooleanProperty m_stopOnSignal
Property to enable/disable the "stop on signal" service (enabled by default).
const std::string & name() const override
void setServiceManager(ISvcManager *) override
std::string m_appVersion
The version of the application.
SmartIF< IMessageSvc > m_messageSvc
Reference to the message service.
StatusCode sysInitialize() override
BooleanProperty m_auditSvcs
The interface implemented by the IncidentSvc service.
bool m_useHiveAlgorithmManager
IntegerProperty m_SIExit
For SI's "Exit" command via callback.
Gaudi::StateMachine::State targetFSMState() const override
StatusCode declareMultiSvcType(const std::string &name, const std::string &type)
declare one or more copies of svc type/name as determined by NoOfThreads