53 :
public PropertyHolder<CommonMessaging<implements<IAppMgrUI, Gaudi::Interfaces::IQueueingEventProcessor, IService,
54 IStateful, INamedInterface, IProperty>>> {
80 const std::string&
name()
const override;
113 bool empty()
const override;
114 std::optional<Gaudi::Interfaces::IQueueingEventProcessor::ResultType>
pop()
override;
172 typedef std::map<unsigned long, SmartIF<IComponentManager>>
ManagersMap;
198 "For SI's \"Go\" command via callback" };
205 "For SI's \"Exit\" command via callback" };
210 "List of top level algorithms names",
211 "vector<Algorithm>" };
215 "Service:IMessageSvc" };
217 "Service:Gaudi::Interfaces::IOptionsSvc" };
225 this,
"SvcOptMapping", {},
"Default mapping of optional services" };
241 this,
"ExtSvc", {},
"List of external services names",
"vector<Service>" };
243 "LHCb (default) or ATLAS definition of \"ExtSvc\"" };
249 this,
"JobOptionsPostAction", {},
"additional command to run on config" };
251 this,
"JobOptionsPreAction", {},
"additional command to run on config" };
254 "Service:IEventProcessor" };
267 <<
"Updating Gaudi::PluginService::SetDebug(level) to level="
272 "Debug level for the plugin system" };
275 this,
"CreateSvc", {},
"List of extra services to be created" };
283 this,
"Environment", {},
"Environment variables to set" };
287 "For ServiceMgr initialization loop checking" };
292 this,
"StopOnSignal",
false,
"Flag to enable/disable the signal handler that schedule a stop of the event loop" };
295 "Flag to activate the printout of properties" };
299 "Return code of the application. Set internally in case of error conditions." };
302 "Print the sequence of algorithms that have been loaded." };
305 "Replace ROOT error handler with MessageSvc." };
314 template <
typename SELF,
typename PIMPL,
typename METHOD,
typename... ARGS>
315 static auto i_delegateToEvtProc( SELF* self, PIMPL& member, std::string_view method_name, METHOD&& method,
318 if (
bool( member ) ) {
319 return std::invoke( method, *member.get(), std::forward<ARGS>( args )... );
322 s << method_name <<
": event processor is not a \""
328 s << method_name <<
": Invalid state \"" << self->FSMState() <<
'"';
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
The AlgorithmManager class is in charge of the creation of concrete instances of Algorithms.
SmartIF< ISvcManager > m_svcManager
Cached pointer to the manager of services.
Gaudi::Property< std::string > m_jobOptionsType
SmartIF< IRunable > m_runable
Reference to the runable object.
Gaudi::Property< bool > m_printAlgsSequence
SmartIF< IQueueingEventProcessor > m_queueingProcessor
Reference to a queueing processing manager object.
Gaudi::Property< int > m_returnCode
Property to record the error conditions occurring during the running.
SmartIF< IComponentManager > & getManager()
Gaudi::Property< std::vector< std::string > > m_svcMapping
Gaudi::Property< bool > m_useMessageSvcForROOTMessages
std::optional< Gaudi::Interfaces::IQueueingEventProcessor::ResultType > pop() override
Gaudi::Property< std::vector< std::string > > m_dllNameList
Gaudi::StateMachine::State m_targetState
Internal State.
Gaudi::Property< std::string > m_runableType
Gaudi::Property< bool > m_actHistory
void createSvcNameListHandler(Gaudi::Details::PropertyBase &)
std::vector< std::string > m_okDlls
names of successfully loaded dlls
StatusCode GoToState(Gaudi::StateMachine::State state, bool ignoreFailures=false)
Reach a state from current state (whichever it is) going through the correct transitions.
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 ...
Gaudi::Property< bool > m_propertiesPrint
SmartIF< ISvcLocator > m_svcLocator
Reference to its own service locator (must be instantiated prior to any service!)
StatusCode run() override
ApplicationMgr(IInterface *=nullptr)
StatusCode finalize() override
Gaudi::Property< std::vector< std::string > > m_outStreamNameList
Gaudi::Property< std::vector< std::string > > m_extSvcNameList
StatusCode nextEvent(int maxevt) override
Gaudi::Property< std::string > m_jobOptionsPath
Gaudi::Property< std::vector< std::string > > m_declaredManagers
Property to declare the list of known managers.
SmartIF< DLLClassManager > m_classManager
Reference to the class manager.
StatusCode terminate() override
StatusCode initialize() override
StatusCode stopRun() override
implementation of IEventProcessor::stopRun()
Gaudi::Property< int > m_SIExit
SmartIF< ISvcLocator > & serviceLocator() const override
Needed to locate the message service.
StatusCode sysStop() override
SmartIF< IMessageSvc > m_messageSvc
Reference to the message service.
Gaudi::Property< std::vector< std::string > > m_svcOptMapping
bool m_useHiveAlgorithmManager
SmartIF< IAlgManager > & algManager()
StatusCode executeEvent(EventContext &&ctx) override
implementation of IEventProcessor::executeEvent(void*)
void const * i_cast(const InterfaceID &iid) const override
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
void evtLoopPropertyHandler(Gaudi::Details::PropertyBase &theProp)
Gaudi::Property< bool > m_auditTools
Defaults for auditors.
Gaudi::Monitoring::Hub m_monitoringHub
SmartIF< IAlgManager > m_algManager
Cached pointer to the manager of algorithms.
Gaudi::Property< std::string > m_evtsel
Gaudi::Property< std::string > m_eventLoopMgr
const std::string & name() const override
Gaudi::Property< int > m_evtMax
StatusCode sysRestart() override
Gaudi::Property< std::string > m_appVersion
StatusCode sysReinitialize() override
StatusCode decodeDllNameList()
Gaudi::Property< std::vector< std::string > > m_topAlgNameList
Gaudi::Property< bool > m_extSvcCreates
Gaudi::Property< std::vector< std::string > > m_createSvcNameList
Gaudi::Property< bool > m_auditSvcs
Gaudi::Property< std::map< std::string, std::string > > m_environment
EventContext createEventContext() override
implementation of IEventProcessor::createEventContext()
Gaudi::Property< std::string > m_jobOptionsPreAction
StatusCode reinitialize() override
Gaudi::Property< bool > m_loopCheck
Gaudi::Property< std::string > m_appName
void extSvcNameListHandler(Gaudi::Details::PropertyBase &theProp)
Gaudi::StateMachine::State targetFSMState() const override
Gaudi::Property< int > m_pluginDebugLevel
StatusCode restart() override
StatusCode stop() override
void printAlgsSequences()
Print the sequence of algorithms that have been loaded.
StatusCode executeRun(int evtmax) override
implementation of IEventProcessor::executeRun(int)
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.
Gaudi::Property< bool > m_stopOnSignal
Property to enable/disable the "stop on signal" service.
Gaudi::StateMachine::State FSMState() const override
StatusCode i_startup()
Internal startup routine.
StatusCode sysFinalize() override
Gaudi::StateMachine::State m_state
Internal State.
Gaudi::Property< std::string > m_histPersName
StatusCode start() override
void outputLevelUpdate() override
Function to call to update the outputLevel of the components (after a change in MessageSvc).
StatusCode decodeExtSvcNameList()
Gaudi::Property< std::string > m_jobOptionsSvcType
Gaudi::Monitoring::Hub & monitoringHub() override
void push(EventContext &&ctx) override
void setServiceManager(ISvcManager *) override
StatusCode decodeCreateSvcNameList()
void dllNameListHandler(Gaudi::Details::PropertyBase &theProp)
Gaudi::Property< bool > m_auditAlgs
Gaudi::Property< int > m_outputLevel
ManagersMap m_managers
Map of known component managers.
bool empty() const override
StatusCode configure() override
StatusCode sysStart() override
StatusCode sysInitialize() override
Gaudi::Property< int > m_SIGo
void pluginDebugPropertyHandler(Gaudi::Details::PropertyBase &theProp)
SmartIF< ISvcManager > & svcManager()
SmartIF< IEventProcessor > m_processingMgr
Reference to processing manager object.
Gaudi::Property< std::string > m_jobOptionsPostAction
Gaudi::Property< std::string > m_messageSvcType
This class represents an entry point to all the event specific data.
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Implementation of property with value of concrete type.
Define general base for Gaudi exception.
The interface implemented by the IncidentSvc service.
Definition of the basic interface.
The IMessage is the interface implemented by the message service.
Runable interface definition.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
virtual void setLoopCheckEnabled(bool en=true)=0
Set the value of the initialization loop check flag.
Definition of the MsgStream class used to transmit messages.
The ServiceManager class is in charge of the creation of concrete instances of Services.
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Central entity in a Gaudi application that manages monitoring objects (i.e.