Go to the documentation of this file.
11 #ifndef GAUDI_APPLICATIONMGR_H
12 #define GAUDI_APPLICATIONMGR_H
56 :
public PropertyHolder<CommonMessaging<implements<IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService,
57 IStateful, INamedInterface, IProperty>>> {
115 bool empty()
const override;
116 std::optional<Gaudi::Interfaces::IQueueingEventProcessor::ResultType>
pop()
override;
200 "For SI's \"Go\" command via callback" };
207 "For SI's \"Exit\" command via callback" };
212 "List of top level algorithms names",
213 "vector<Algorithm>" };
217 "Service:IMessageSvc" };
219 "Service:Gaudi::Interfaces::IOptionsSvc" };
227 this,
"SvcOptMapping", {},
"Default mapping of optional services" };
243 this,
"ExtSvc", {},
"List of external services names",
"vector<Service>" };
245 "LHCb (default) or ATLAS definition of \"ExtSvc\"" };
251 this,
"JobOptionsPostAction", {},
"additional command to run on config" };
253 this,
"JobOptionsPreAction", {},
"additional command to run on config" };
256 "Service:IEventProcessor" };
269 <<
"Updating Gaudi::PluginService::SetDebug(level) to level="
274 "Debug level for the plugin system" };
277 this,
"CreateSvc", {},
"List of extra services to be created" };
285 this,
"Environment", {},
"Environment variables to set" };
289 "For ServiceMgr initialization loop checking" };
294 this,
"StopOnSignal",
false,
"Flag to enable/disable the signal handler that schedule a stop of the event loop" };
297 "Flag to activate the printout of properties" };
301 "Return code of the application. Set internally in case of error conditions." };
304 "Print the sequence of algorithms that have been loaded." };
307 "Replace ROOT error handler with MessageSvc." };
316 template <
typename SELF,
typename PIMPL,
typename METHOD,
typename... ARGS>
317 static auto i_delegateToEvtProc( SELF*
self, PIMPL& member, std::string_view method_name, METHOD&& method,
320 if (
bool( member ) ) {
321 return std::invoke( method, *member.get(), std::forward<ARGS>(
args )... );
324 s << method_name <<
": event processor is not a \""
330 s << method_name <<
": Invalid state \"" <<
self->FSMState() <<
'"';
334 #endif // GAUDI_APPLICATIONMGR_H
void printAlgsSequences()
Print the sequence of algorithms that have been loaded.
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Gaudi::Property< bool > m_auditTools
Defaults for auditors.
SmartIF< IAlgManager > m_algManager
Cached pointer to the manager of algorithms.
StatusCode sysInitialize() override
Gaudi::Property< bool > m_propertiesPrint
bool empty() const override
StatusCode decodeDllNameList()
void outputLevelUpdate() override
Function to call to update the outputLevel of the components (after a change in MessageSvc).
StatusCode run() override
SmartIF< IRunable > m_runable
Reference to the runable object.
StatusCode i_startup()
Internal startup routine.
StatusCode stop() override
Gaudi::Property< std::string > m_messageSvcType
const std::string & name() const override
StatusCode sysFinalize() override
Gaudi::StateMachine::State FSMState() const override
StatusCode sysStop() override
Gaudi::Property< bool > m_stopOnSignal
Property to enable/disable the "stop on signal" service.
std::vector< std::string > m_okDlls
names of successfully loaded dlls
EventContext createEventContext() override
implementation of IEventProcessor::createEventContext()
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Helper class to implement the IProperty interface.
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.
StatusCode terminate() override
StatusCode executeRun(int evtmax) override
implementation of IEventProcessor::executeRun(int)
StatusCode finalize() override
Gaudi::Property< std::string > m_jobOptionsSvcType
StatusCode nextEvent(int maxevt) override
ApplicationMgr(IInterface *=nullptr)
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 ...
void createSvcNameListHandler(Gaudi::Details::PropertyBase &)
SmartIF< ISvcManager > & svcManager()
Gaudi::Property< std::vector< std::string > > m_dllNameList
Gaudi::Property< bool > m_auditAlgs
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...
SmartIF< IComponentManager > & getManager()
void dllNameListHandler(Gaudi::Details::PropertyBase &theProp)
Gaudi::Property< int > m_returnCode
Property to record the error conditions occurring during the running.
StatusCode restart() override
StatusCode configure() override
Gaudi::Property< std::string > m_jobOptionsPostAction
Gaudi::Property< std::string > m_histPersName
Gaudi::Property< std::string > m_evtsel
Gaudi::Property< std::string > m_jobOptionsPreAction
std::optional< Gaudi::Interfaces::IQueueingEventProcessor::ResultType > pop() override
const ValueType & value() const
Gaudi::Property< std::vector< std::string > > m_declaredManagers
Property to declare the list of known managers.
SmartIF< ISvcLocator > m_svcLocator
Reference to its own service locator (must be instantiated prior to any service!)
Gaudi::Property< std::string > m_appVersion
StatusCode sysReinitialize() override
Gaudi::Property< std::string > m_jobOptionsType
StatusCode sysRestart() override
SmartIF< ISvcManager > m_svcManager
Cached pointer to the manager of services.
StatusCode executeEvent(EventContext &&ctx) override
implementation of IEventProcessor::executeEvent(void*)
Gaudi::Property< std::string > m_runableType
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Gaudi::StateMachine::State targetFSMState() const override
Gaudi::Monitoring::Hub & monitoringHub() override
Gaudi::Property< std::vector< std::string > > m_topAlgNameList
void pluginDebugPropertyHandler(Gaudi::Details::PropertyBase &theProp)
SmartIF< IEventProcessor > m_processingMgr
Reference to processing manager object.
Gaudi::Property< std::vector< std::string > > m_svcMapping
GAUDIPS_API void SetDebug(int debugLevel)
Backward compatibility with Reflex.
Gaudi::Property< std::vector< std::string > > m_svcOptMapping
StatusCode decodeExtSvcNameList()
Gaudi::Property< std::vector< std::string > > m_extSvcNameList
Gaudi::Property< std::string > m_eventLoopMgr
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Gaudi::Property< bool > m_extSvcCreates
Gaudi::Property< bool > m_useMessageSvcForROOTMessages
Gaudi::Property< std::vector< std::string > > m_createSvcNameList
Gaudi::Property< bool > m_actHistory
SmartIF< ISvcLocator > & serviceLocator() const override
Needed to locate the message service.
Gaudi::Property< int > m_SIExit
Gaudi::Monitoring::Hub m_monitoringHub
constexpr static const auto SUCCESS
StatusCode decodeCreateSvcNameList()
Gaudi::Property< std::string > m_appName
StatusCode stopRun() override
implementation of IEventProcessor::stopRun()
void evtLoopPropertyHandler(Gaudi::Details::PropertyBase &theProp)
SmartIF< IQueueingEventProcessor > m_queueingProcessor
Reference to a queueing processing manager object.
Gaudi::Property< int > m_outputLevel
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
SmartIF< IMessageSvc > m_messageSvc
Reference to the message service.
ManagersMap m_managers
Map of known component managers.
Gaudi::StateMachine::State m_state
Internal State.
StatusCode sysStart() override
Gaudi::Property< std::string > m_jobOptionsPath
Gaudi::Property< bool > m_printAlgsSequence
bool m_useHiveAlgorithmManager
void extSvcNameListHandler(Gaudi::Details::PropertyBase &theProp)
StatusCode GoToState(Gaudi::StateMachine::State state, bool ignoreFailures=false)
Reach a state from current state (whichever it is) going through the correct transitions.
StatusCode reinitialize() override
Gaudi::Property< bool > m_loopCheck
Central entity in a Gaudi application that manages monitoring objects (i.e.
constexpr static const auto FAILURE
Gaudi::Property< std::map< std::string, std::string > > m_environment
void setServiceManager(ISvcManager *) override
Gaudi::Property< int > m_pluginDebugLevel
SmartIF< IAlgManager > & algManager()
Gaudi::Property< int > m_SIGo
Implementation of property with value of concrete type.
SmartIF< DLLClassManager > m_classManager
Reference to the class manager.
void push(EventContext &&ctx) override
StatusCode start() override
Gaudi::Property< bool > m_auditSvcs
Gaudi::Property< int > m_evtMax
Gaudi::Property< std::vector< std::string > > m_outStreamNameList
Gaudi::StateMachine::State m_targetState
Internal State.
StatusCode initialize() override