#include </builds/gaudi/Gaudi/GaudiCoreSvc/src/ApplicationMgr/ApplicationMgr.h>
|
| ApplicationMgr (IInterface *=nullptr) |
|
void const * | i_cast (const InterfaceID &iid) const override |
|
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 |
|
EventContext | createEventContext () override |
| implementation of IEventProcessor::createEventContext() More...
|
|
StatusCode | executeEvent (EventContext &&ctx) 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 | push (EventContext &&ctx) override |
|
bool | empty () const override |
|
std::optional< Gaudi::Interfaces::IQueueingEventProcessor::ResultType > | pop () override |
|
| PropertyHolder ()=default |
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
| Declare a property. More...
|
|
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...
|
|
| requires (!Gaudi::Details::is_gaudi_property_v< TYPE >) Gaudi |
| Helper to wrap a regular data member and use it as a regular property. More...
|
|
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
| Declare a remote property. More...
|
|
StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override |
| set the property from another property with a different name More...
|
|
StatusCode | setProperty (const std::string &s) override |
| set the property from the formatted string More...
|
|
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
| Set the property from a property. More...
|
|
virtual StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0 |
| Set the property from a property with a different name. More...
|
|
virtual StatusCode | setProperty (const std::string &s)=0 |
| Set the property by string. More...
|
|
StatusCode | setProperty (const std::string &name, const char *v) |
| Special case for string literals. More...
|
|
StatusCode | setProperty (const std::string &name, const std::string &v) |
| Special case for std::string. More...
|
|
StatusCode | setPropertyRepr (const std::string &n, const std::string &r) override |
| set the property from name and value string representation More...
|
|
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
| get the property More...
|
|
const Gaudi::Details::PropertyBase & | getProperty (std::string_view name) const override |
| get the property by name More...
|
|
StatusCode | getProperty (std::string_view 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 (std::string_view name) const override |
| Return true if we have a property with the given name. More...
|
|
Gaudi::Details::PropertyBase * | property (std::string_view name) const |
| \fixme property and bindPropertiesTo should be protected More...
|
|
void | bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc) |
|
| PropertyHolder (const PropertyHolder &)=delete |
|
PropertyHolder & | operator= (const PropertyHolder &)=delete |
|
MSG::Level | msgLevel () const |
| get the cached level (originally extracted from the embedded MsgStream) More...
|
|
bool | msgLevel (MSG::Level lvl) const |
| get the output level from the embedded MsgStream More...
|
|
|
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...
|
|
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 |
|
Gaudi::Property< int > | m_SIExit |
|
Gaudi::Property< std::vector< std::string > > | m_topAlgNameList |
|
Gaudi::Property< std::vector< std::string > > | m_outStreamNameList |
|
Gaudi::Property< std::string > | m_messageSvcType |
|
Gaudi::Property< std::string > | m_jobOptionsSvcType |
|
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< IQueueingEventProcessor > | m_queueingProcessor |
| Reference to a queueing processing manager object. More...
|
|
Gaudi::Monitoring::Hub | m_monitoringHub |
|
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 |
|
Gaudi::Property< bool > | m_extSvcCreates |
|
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", "Service:IRunable" } |
|
Gaudi::Property< std::string > | m_eventLoopMgr |
|
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< int > | m_pluginDebugLevel |
|
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_propertiesPrint |
|
Gaudi::Property< int > | m_returnCode |
| Property to record the error conditions occurring during the running. More...
|
|
Gaudi::Property< bool > | m_printAlgsSequence |
|
Gaudi::Property< bool > | m_useMessageSvcForROOTMessages |
|
bool | m_useHiveAlgorithmManager |
|
std::vector< std::string > | m_okDlls |
| names of successfully loaded dlls More...
|
|
void | evtLoopPropertyHandler (Gaudi::Details::PropertyBase &theProp) |
|
StatusCode | decodeExtSvcNameList () |
|
StatusCode | decodeCreateSvcNameList () |
|
void | createSvcNameListHandler (Gaudi::Details::PropertyBase &) |
|
void | extSvcNameListHandler (Gaudi::Details::PropertyBase &theProp) |
|
StatusCode | decodeDllNameList () |
|
void | dllNameListHandler (Gaudi::Details::PropertyBase &theProp) |
|
void | pluginDebugPropertyHandler (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...
|
|
void | outputLevelUpdate () override |
| Function to call to update the outputLevel of the components (after a change in MessageSvc). More...
|
|
Gaudi::Monitoring::Hub & | monitoringHub () override |
|
void | printAlgsSequences () |
| Print the sequence of algorithms that have been loaded. 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...
|
|
template<typename SELF , typename PIMPL , typename METHOD , typename... ARGS> |
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. 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.).
- Author
- Pere Mato
Definition at line 52 of file ApplicationMgr.h.
◆ ManagersMap
Typedef for the map of component managers, the key is the "id" field of the basic InterfaceID of the managed components.
Definition at line 172 of file ApplicationMgr.h.
◆ ApplicationMgr()
ApplicationMgr::ApplicationMgr |
( |
IInterface * |
= nullptr | ) |
|
Definition at line 83 of file ApplicationMgr.cpp.
102 "Aliases of algorithm types, to replace an algorithm type for every instance" );
108 "DetDataSvc/DetectorDataSvc",
109 "HistogramSvc/HistogramDataSvc",
110 "HbookCnv::PersSvc/HbookHistSvc",
111 "RootHistCnv::PersSvc/RootHistSvc",
112 "EvtPersistencySvc/EventPersistencySvc",
113 "DetPersistencySvc/DetectorPersistencySvc",
114 "HistogramPersistencySvc/HistogramPersistencySvc" };
◆ algManager()
◆ configure()
Definition at line 278 of file ApplicationMgr.cpp.
314 <<
"=================================================================="
315 <<
"==================================================================" << std::endl
324 #if GAUDI_PATCH_VERSION
334 <<
"=================================================================="
335 <<
"==================================================================" <<
endmsg;
348 const std::string&
name = var.first;
349 const std::string& value = var.second;
359 if (
svcManager()->declareSvcType( itm.name(), itm.type() ).isFailure() ) {
369 if (
svcManager()->declareSvcType( itm.name(), itm.type() ).isFailure() ) {
401 sc =
svcManager()->addService( evtloop_item, ServiceManager::DEFAULT_SVC_PRIORITY * 10 );
432 sc =
svcManager()->addService(
"HistorySvc", std::numeric_limits<int>::max() );
◆ createEventContext()
◆ createSvcNameListHandler()
◆ decodeCreateSvcNameList()
StatusCode ApplicationMgr::decodeCreateSvcNameList |
( |
| ) |
|
Definition at line 896 of file ApplicationMgr.cpp.
899 auto it = theNames.begin();
900 auto et = theNames.end();
901 while ( result.
isSuccess() && it != et ) {
903 if ( ( result =
svcManager()->addService( item, ServiceManager::DEFAULT_SVC_PRIORITY ) ).isFailure() ) {
905 log <<
MSG::ERROR <<
"decodeCreateSvcNameList: Cannot create service " << item.type() <<
"/" << item.name()
910 log <<
MSG::DEBUG <<
"decodeCreateSvcNameList: Created service " << item.type() <<
"/" << item.name() <<
endmsg;
◆ decodeDllNameList()
Definition at line 956 of file ApplicationMgr.cpp.
962 std::vector<std::string> newList;
963 std::map<std::string, unsigned int> dllInList, duplicateList;
966 if ( 0 == dllInList[it] ) {
967 newList.push_back( it );
977 ON_DEBUG if ( !duplicateList.empty() ) {
978 log <<
MSG::DEBUG <<
"Removed duplicate entries for modules : ";
979 for (
auto it = duplicateList.begin(); it != duplicateList.end(); ++it ) {
980 log << it->first <<
"(" << 1 + it->second <<
")";
981 if ( it != --duplicateList.end() )
log <<
", ";
986 const std::vector<std::string>& theNames = newList;
991 std::vector<std::string> successNames, failNames;
992 for (
const auto& it : theNames ) {
997 failNames.push_back( it );
1000 successNames.push_back( it );
1006 if ( !successNames.empty() ) {
1008 for (
auto it = successNames.begin(); it != successNames.end(); it++ ) {
1010 if ( ( it + 1 ) != successNames.end() )
log <<
", ";
1019 for (
auto it = failNames.begin(); it != failNames.end(); it++ ) {
1021 if ( ( it + 1 ) != failNames.end() )
log <<
", ";
◆ decodeExtSvcNameList()
StatusCode ApplicationMgr::decodeExtSvcNameList |
( |
| ) |
|
Definition at line 924 of file ApplicationMgr.cpp.
929 auto it = theNames.begin();
930 auto et = theNames.end();
931 while ( result.
isSuccess() && it != et ) {
934 if ( ( result =
svcManager()->addService( item, ServiceManager::DEFAULT_SVC_PRIORITY ) ).isFailure() ) {
936 log <<
MSG::ERROR <<
"decodeExtSvcNameList: Cannot create service " << item.type() <<
"/" << item.name()
940 if ( ( result =
svcManager()->declareSvcType( item.name(), item.type() ) ).isFailure() ) {
942 log <<
MSG::ERROR <<
"decodeExtSvcNameList: Cannot declare service " << item.type() <<
"/" << item.name()
◆ dllNameListHandler()
◆ empty()
bool ApplicationMgr::empty |
( |
| ) |
const |
|
override |
◆ evtLoopPropertyHandler()
◆ executeEvent()
implementation of IEventProcessor::executeEvent(void*)
Definition at line 782 of file ApplicationMgr.cpp.
◆ executeRun()
StatusCode ApplicationMgr::executeRun |
( |
int |
evtmax | ) |
|
|
override |
◆ extSvcNameListHandler()
◆ finalize()
◆ FSMState()
◆ getManager()
◆ GoToState()
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 676 of file ApplicationMgr.cpp.
750 if ( ignoreFailures ) {
◆ i_cast()
void const * ApplicationMgr::i_cast |
( |
const InterfaceID & |
iid | ) |
const |
|
override |
◆ i_delegateToEvtProc()
template<typename SELF , typename PIMPL , typename METHOD , typename... ARGS>
static auto ApplicationMgr::i_delegateToEvtProc |
( |
SELF * |
self, |
|
|
PIMPL & |
member, |
|
|
std::string_view |
method_name, |
|
|
METHOD && |
method, |
|
|
ARGS &&... |
args |
|
) |
| |
|
inlinestaticprivate |
Helper to delegate calls to event processor implementation.
Definition at line 315 of file ApplicationMgr.h.
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() <<
'"';
◆ i_startup()
Internal startup routine.
Definition at line 160 of file ApplicationMgr.cpp.
191 s_originalRootErrorHandler = SetErrorHandler( ROOTErrorHandlerAdapter );
194 <<
"ROOT not yet initialized, we cannot override the error handler are requested "
195 "(UseMessageSvcForROOTMessages==true)"
207 auto jobOptsIProp = jobsvc.as<
IProperty>();
208 if ( !jobOptsIProp ) {
221 log <<
MSG::FATAL <<
"Error setting JobOptionsPreAction option in JobOptionsSvc" <<
endmsg;
229 log <<
MSG::FATAL <<
"Error setting JobOptionsPostAction option in JobOptionsSvc" <<
endmsg;
240 }
else if (
isEnvSet(
"JOBOPTPATH" ) ) {
253 jobOptsIProp.reset();
257 auto msgSvcIProp = msgsvc.as<
IProperty>();
261 sc = jobsvc->sysInitialize();
266 sc = msgsvc->sysInitialize();
◆ initialize()
Definition at line 444 of file ApplicationMgr.cpp.
456 std::string svcname(
"Gaudi::Utils::StopSignalHandler" );
459 log <<
MSG::INFO <<
"Cannot instantiate " << svcname <<
"signals will be ignored" <<
endmsg;
◆ monitoringHub()
◆ name()
const std::string & ApplicationMgr::name |
( |
| ) |
const |
|
override |
◆ nextEvent()
StatusCode ApplicationMgr::nextEvent |
( |
int |
maxevt | ) |
|
|
override |
◆ outputLevelUpdate()
void ApplicationMgr::outputLevelUpdate |
( |
| ) |
|
|
override |
Function to call to update the outputLevel of the components (after a change in MessageSvc).
Definition at line 1028 of file ApplicationMgr.cpp.
1030 for (
auto& mgrItem :
m_managers ) { mgrItem.second->outputLevelUpdate(); }
◆ pluginDebugPropertyHandler()
◆ pop()
◆ printAlgsSequences()
void ApplicationMgr::printAlgsSequences |
( |
| ) |
|
Print the sequence of algorithms that have been loaded.
Definition at line 1054 of file ApplicationMgr.cpp.
1056 log <<
MSG::ALWAYS <<
"****************************** Algorithm Sequence ****************************" <<
endmsg;
1058 log <<
MSG::ALWAYS <<
"******************************************************************************" <<
endmsg;
◆ push()
◆ queryInterface()
◆ reinitialize()
◆ restart()
◆ run()
◆ serviceLocator()
◆ setServiceManager()
void ApplicationMgr::setServiceManager |
( |
ISvcManager * |
| ) |
|
|
inlineoverrideprotected |
◆ start()
◆ stop()
◆ stopRun()
◆ svcManager()
◆ sysFinalize()
◆ sysInitialize()
◆ sysReinitialize()
◆ sysRestart()
◆ sysStart()
◆ sysStop()
◆ targetFSMState()
◆ terminate()
Definition at line 617 of file ApplicationMgr.cpp.
634 log <<
MSG::INFO <<
"Application Manager Terminated successfully with a user requested ScheduledStop" <<
endmsg;
642 opts.set(
"MessageSvc.AuditFinalize",
"false" );
644 opts.set(
"JobOptionsSvc.AuditFinalize",
"false" );
648 if ( s_originalRootErrorHandler ) {
649 SetErrorHandler( s_originalRootErrorHandler );
650 s_originalRootErrorHandler =
nullptr;
653 s_messageSvcInstance =
nullptr;
659 svc->sysFinalize().ignore();
666 log <<
MSG::ERROR <<
"Could not get the IService interface of the JobOptionsSvc" <<
endmsg;
668 svc->sysFinalize().ignore();
◆ m_actHistory
◆ m_algManager
◆ m_appName
◆ m_appVersion
Gaudi::Property<std::string> ApplicationMgr::m_appVersion { this, "AppVersion", {}, "The version of the application" } |
|
protected |
◆ m_auditAlgs
Gaudi::Property<bool> ApplicationMgr::m_auditAlgs { this, "AuditAlgorithms", false } |
|
protected |
◆ m_auditSvcs
Gaudi::Property<bool> ApplicationMgr::m_auditSvcs { this, "AuditServices", false } |
|
protected |
◆ m_auditTools
Gaudi::Property<bool> ApplicationMgr::m_auditTools { this, "AuditTools", false } |
|
protected |
◆ m_classManager
◆ m_createSvcNameList
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_createSvcNameList |
|
protected |
Initial value:{
this, "CreateSvc", {}, "List of extra services to be created" }
Definition at line 274 of file ApplicationMgr.h.
◆ m_declaredManagers
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_declaredManagers |
|
protected |
Property to declare the list of known managers.
Definition at line 178 of file ApplicationMgr.h.
◆ m_dllNameList
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_dllNameList { this, "Dlls", {}, "List of DDL's names" } |
|
protected |
◆ m_environment
Gaudi::Property<std::map<std::string, std::string> > ApplicationMgr::m_environment |
|
protected |
Initial value:{
this, "Environment", {}, "Environment variables to set" }
Definition at line 282 of file ApplicationMgr.h.
◆ m_eventLoopMgr
Initial value:{ this, "EventLoop", "EventLoopMgr", "Processing manager type",
"Service:IEventProcessor" }
Definition at line 253 of file ApplicationMgr.h.
◆ m_evtMax
Gaudi::Property<int> ApplicationMgr::m_evtMax { this, "EvtMax", -1, "Number of events to be processed (-1 means all events)" } |
|
protected |
◆ m_evtsel
Gaudi::Property<std::string> ApplicationMgr::m_evtsel { this, "EvtSel", {}, "Event selection" } |
|
protected |
◆ m_extSvcCreates
Initial value:{ this, "ExtSvcCreates", true,
"LHCb (default) or ATLAS definition of \"ExtSvc\"" }
Definition at line 242 of file ApplicationMgr.h.
◆ m_extSvcNameList
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_extSvcNameList |
|
protected |
Initial value:{
this, "ExtSvc", {}, "List of external services names", "vector<Service>" }
Definition at line 240 of file ApplicationMgr.h.
◆ m_histPersName
Gaudi::Property<std::string> ApplicationMgr::m_histPersName { this, "HistogramPersistency", "NONE", "Name of the Hist Pers Svc" } |
|
protected |
◆ m_jobOptionsPath
Gaudi::Property<std::string> ApplicationMgr::m_jobOptionsPath { this, "JobOptionsPath", {}, "The \"file\" to look for properties" } |
|
protected |
◆ m_jobOptionsPostAction
Initial value:{
this, "JobOptionsPreAction", {}, "additional command to run on config" }
Definition at line 250 of file ApplicationMgr.h.
◆ m_jobOptionsPreAction
Initial value:{
this, "JobOptionsPostAction", {}, "additional command to run on config" }
Definition at line 248 of file ApplicationMgr.h.
◆ m_jobOptionsSvcType
Initial value:{ this, "JobOptionsSvcType", "JobOptionsSvc", "JobOptionsSvc type",
"Service:Gaudi::Interfaces::IOptionsSvc" }
Definition at line 216 of file ApplicationMgr.h.
◆ m_jobOptionsType
Gaudi::Property<std::string> ApplicationMgr::m_jobOptionsType { this, "JobOptionsType", "FILE", "Source type (e.g. dbase, file...)" } |
|
protected |
◆ m_loopCheck
Initial value:{ this, "InitializationLoopCheck", true,
"For ServiceMgr initialization loop checking" }
Definition at line 285 of file ApplicationMgr.h.
◆ m_managers
◆ m_messageSvc
◆ m_messageSvcType
Initial value:{ this, "MessageSvcType", "MessageSvc", "MessageSvc type",
"Service:IMessageSvc" }
Definition at line 214 of file ApplicationMgr.h.
◆ m_monitoringHub
◆ m_name
std::string ApplicationMgr::m_name = "ApplicationMgr" |
|
protected |
◆ m_okDlls
std::vector<std::string> ApplicationMgr::m_okDlls |
|
private |
◆ m_outputLevel
Gaudi::Property<int> ApplicationMgr::m_outputLevel { this, "OutputLevel", MSG::INFO, "Message output level" } |
|
protected |
◆ m_outStreamNameList
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_outStreamNameList |
|
protected |
◆ m_pluginDebugLevel
Initial value:{ this, "PluginDebugLevel", 0,
[this]( auto& ) {
<< "Updating Gaudi::PluginService::SetDebug(level) to level="
}
},
"Debug level for the plugin system" }
Definition at line 261 of file ApplicationMgr.h.
◆ m_printAlgsSequence
Initial value:{ this, "PrintAlgsSequence", false,
"Print the sequence of algorithms that have been loaded." }
Definition at line 301 of file ApplicationMgr.h.
◆ m_processingMgr
◆ m_propertiesPrint
Initial value:{ this, "PropertiesPrint", false,
"Flag to activate the printout of properties" }
Definition at line 294 of file ApplicationMgr.h.
◆ m_queueingProcessor
SmartIF<IQueueingEventProcessor> ApplicationMgr::m_queueingProcessor |
|
protected |
Reference to a queueing processing manager object.
Definition at line 231 of file ApplicationMgr.h.
◆ m_returnCode
Initial value:
"Return code of the application. Set internally in case of error conditions." }
Property to record the error conditions occurring during the running.
Definition at line 298 of file ApplicationMgr.h.
◆ m_runable
◆ m_runableType
◆ m_SIExit
Initial value:{ this, "Exit", 0,
[this]( auto& ) {
::exit( 0 );
},
"For SI's \"Exit\" command via callback" }
Definition at line 199 of file ApplicationMgr.h.
◆ m_SIGo
Initial value:{ this, "Go", 0,
[this]( auto& ) {
},
"For SI's \"Go\" command via callback" }
Definition at line 191 of file ApplicationMgr.h.
◆ m_state
◆ m_stopOnSignal
Initial value:{
this, "StopOnSignal", false, "Flag to enable/disable the signal handler that schedule a stop of the event loop" }
Property to enable/disable the "stop on signal" service.
- See also
- Gaudi::Utils::StopSignalHandler
Definition at line 291 of file ApplicationMgr.h.
◆ m_svcLocator
Reference to its own service locator (must be instantiated prior to any service!)
Definition at line 187 of file ApplicationMgr.h.
◆ m_svcManager
◆ m_svcMapping
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_svcMapping { this, "SvcMapping", {}, "Default mapping of services" } |
|
protected |
◆ m_svcOptMapping
Initial value:{
this, "SvcOptMapping", {}, "Default mapping of optional services" }
Definition at line 224 of file ApplicationMgr.h.
◆ m_targetState
◆ m_topAlgNameList
Gaudi::Property<std::vector<std::string> > ApplicationMgr::m_topAlgNameList |
|
protected |
Initial value:{ this,
"TopAlg",
{},
"List of top level algorithms names",
"vector<Algorithm>" }
Definition at line 206 of file ApplicationMgr.h.
◆ m_useHiveAlgorithmManager
bool ApplicationMgr::m_useHiveAlgorithmManager |
|
protected |
◆ m_useMessageSvcForROOTMessages
Initial value:{ this, "UseMessageSvcForROOTMessages", true,
"Replace ROOT error handler with MessageSvc." }
Definition at line 304 of file ApplicationMgr.h.
The documentation for this class was generated from the following files:
void printAlgsSequences()
Print the sequence of algorithms that have been loaded.
SmartIF< IAlgManager > m_algManager
Cached pointer to the manager of algorithms.
virtual std::optional< ResultType > pop()=0
Get the next available result.
constexpr int FinalizationFailure
Error codes for operation failures.
Gaudi::Property< bool > m_propertiesPrint
StatusCode decodeDllNameList()
MSG::Level resetMessaging()
Reinitialize internal states.
void outputLevelUpdate() override
Function to call to update the outputLevel of the components (after a change in MessageSvc).
SmartIF< IRunable > m_runable
Reference to the runable object.
StatusCode i_startup()
Internal startup routine.
StatusCode stop() override
GAUDI_API std::string getEnv(const char *var)
get a particular environment variable (returning "UNKNOWN" if not set)
Gaudi::Property< std::string > m_messageSvcType
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
#define GAUDI_MINOR_VERSION
const std::string & name() const override
Gaudi::StateMachine::State FSMState() const override
StatusCode sysStop() override
Gaudi::Property< bool > m_stopOnSignal
Property to enable/disable the "stop on signal" service.
GAUDI_API int setEnv(const std::string &name, const std::string &value, int overwrite=1)
Set an environment variables.
static const InterfaceID & interfaceID()
std::vector< std::string > m_okDlls
names of successfully loaded dlls
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
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
void bindPropertiesTo(Gaudi::Interfaces::IOptionsSvc &optsSvc)
Gaudi::Property< std::string > m_jobOptionsSvcType
Gaudi::Details::PropertyBase * property(std::string_view name) const
\fixme property and bindPropertiesTo should be protected
void createSvcNameListHandler(Gaudi::Details::PropertyBase &)
constexpr unsigned long id() const
get the interface identifier
const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const override
get all properties
SmartIF< ISvcManager > & svcManager()
Gaudi::Property< std::vector< std::string > > m_dllNameList
void dllNameListHandler(Gaudi::Details::PropertyBase &theProp)
Helper class to parse a string of format "type/name".
Gaudi::Property< int > m_returnCode
Property to record the error conditions occurring during the running.
std::string format(bool local, std::string spec="%c") const
Format the time using strftime.
StatusCode configure() override
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
Gaudi::Property< std::string > m_jobOptionsPostAction
virtual void push(EventContext &&ctx)=0
Schedule the processing of an event.
Details::PropertyBase & declareUpdateHandler(std::function< void(Details::PropertyBase &)> fun) override
set new callback for update
Gaudi::Property< std::string > m_jobOptionsPreAction
const ValueType & value() const
constexpr int ScheduledStop
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.
Gaudi::Property< std::string > m_runableType
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
GAUDI_API bool isEnvSet(const char *var)
Check if an environment variable is set or not.
Gaudi::Property< std::vector< std::string > > m_topAlgNameList
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.
SmartIF< IFace > as() const
return a new SmartIF instance to another interface
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::Details::PropertyBase & declareProperty(Gaudi::Details::PropertyBase &prop)
Declare a property.
Gaudi::Monitoring::Hub m_monitoringHub
constexpr static const auto SUCCESS
StatusCode decodeCreateSvcNameList()
TYPE * get() const
Get interface pointer.
Gaudi::Property< std::string > m_appName
static Time current()
Returns the current time.
constexpr bool versionMatch(const InterfaceID &iid) const
check compatibility.
void evtLoopPropertyHandler(Gaudi::Details::PropertyBase &theProp)
SmartIF< IQueueingEventProcessor > m_queueingProcessor
Reference to a queueing processing manager object.
Gaudi::Property< int > m_outputLevel
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
GAUDI_API const std::string & hostName()
Host name.
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.
#define GAUDI_MAJOR_VERSION
StatusCode reinitialize() override
Gaudi::Property< bool > m_loopCheck
constexpr static const auto FAILURE
virtual bool empty() const =0
Tell if the processor has events in the queues.
Gaudi::Property< std::map< std::string, std::string > > m_environment
AlgTypeAliasesMap & typeAliases()
Gaudi::Property< int > m_pluginDebugLevel
SmartIF< IAlgManager > & algManager()
SmartIF< DLLClassManager > m_classManager
Reference to the class manager.
StatusCode start() override
Gaudi::Property< int > m_evtMax
Gaudi::StateMachine::State m_targetState
Internal State.
StatusCode initialize() override
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
#define GAUDI_PATCH_VERSION