The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Tests::Histograms::Directories::HistoGroupsTool Struct Reference
Inheritance diagram for Gaudi::Tests::Histograms::Directories::HistoGroupsTool:
Collaboration diagram for Gaudi::Tests::Histograms::Directories::HistoGroupsTool:

Public Member Functions

void fillHistos () const
 AlgTool (std::string type, std::string name, const IInterface *parent)
 Standard Constructor.
Public Member Functions inherited from AlgTool
void const * i_cast (const InterfaceID &riid) const override
 Query for a given interface.
const std::string & name () const override
 Retrieve full identifying name of the concrete tool object.
const std::string & type () const override
 Retrieve type (concrete class) of the sub-algtool.
const IInterface * parent () const override
 Retrieve parent of the sub-algtool.
StatusCode configure () override
StatusCode initialize () override
StatusCode start () override
StatusCode stop () override
StatusCode finalize () override
StatusCode terminate () override
StatusCode reinitialize () override
StatusCode restart () override
Gaudi::StateMachine::State FSMState () const override
Gaudi::StateMachine::State targetFSMState () const override
StatusCode sysInitialize () override
 Initialize AlgTool.
StatusCode sysStart () override
 Start AlgTool.
StatusCode sysStop () override
 Stop AlgTool.
StatusCode sysFinalize () override
 Finalize AlgTool.
StatusCode sysReinitialize () override
 Initialize AlgTool.
StatusCode sysRestart () override
 Start AlgTool.
 AlgTool (std::string type, std::string name, const IInterface *parent)
 Standard Constructor.
SmartIF< ISvcLocator > & serviceLocator () const override
 Retrieve pointer to service locator.
ISvcLocator * svcLoc () const
 shortcut for the method service locator
IDataProviderSvc * evtSvc () const
 accessor to event service service
IToolSvc * toolSvc () const
 The standard ToolSvc service, Return a pointer to the service if present.
SmartIF< IService > service (std::string_view name, const bool createIf=true, const bool quiet=false) const
 Return a pointer to the service identified by name (or "type/name").
template<typename T>
SmartIF< T > service (std::string_view name, const bool createIf=true, const bool quiet=false) const
template<class T>
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
template<class T>
StatusCode declareTool (ToolHandle< T > &handle, bool createIf=true)
template<class T>
StatusCode declareTool (ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true)
template<class T>
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
template<class T>
void addToolsArray (ToolHandleArray< T > &hndlArr)
void acceptDHVisitor (IDataHandleVisitor *) const override
void registerTool (IAlgTool *tool) const
void deregisterTool (IAlgTool *tool) const
const std::vector< IAlgTool * > & tools () const
IAuditorSvc * auditorSvc () const
 Access the auditor service.
IMonitorSvc * monitorSvc () const
 Access the monitor service.
template<class T>
void declareInfo (const std::string &name, const T &var, const std::string &desc) const
 Declare monitoring information.
void declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const
 Declare monitoring information (special case).
 ~AlgTool () override
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > >
std::vector< Gaudi::DataHandle * > inputHandles () const override
std::vector< Gaudi::DataHandle * > outputHandles () const override
virtual const DataObjIDColl & extraInputDeps () const override
virtual const DataObjIDColl & extraOutputDeps () const override
void declare (Gaudi::DataHandle &handle) override
void renounce (Gaudi::DataHandle &handle) override
bool renounceInput (const DataObjID &id) override
const DataObjIDColl & inputDataObjs () const override
const DataObjIDColl & outputDataObjs () const override
void addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder >
void const * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast.
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface.
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames.
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property.
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals.
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string.
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 PropertyHolder ()=default
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property.
Gaudi::Details::PropertyBase * declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property.
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name.
Gaudi::Details::PropertyBase * property (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
PropertyHolder & operator= (const PropertyHolder &)=delete
Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor.
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
MsgStream & msgStream () const
 Return an uninitialized MsgStream.
MsgStream & msgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts.
MsgStream & always () const
 shortcut for the method msgStream(MSG::ALWAYS)
MsgStream & fatal () const
 shortcut for the method msgStream(MSG::FATAL)
MsgStream & err () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStream & error () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStream & warning () const
 shortcut for the method msgStream(MSG::WARNING)
MsgStream & info () const
 shortcut for the method msgStream(MSG::INFO)
MsgStream & debug () const
 shortcut for the method msgStream(MSG::DEBUG)
MsgStream & verbose () const
 shortcut for the method msgStream(MSG::VERBOSE)
MsgStream & msg () const
 shortcut for the method msgStream(MSG::INFO)
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream)
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream

Public Attributes

MyHist_t m_hist0 { this, "Top", "Top title", { 1, 0, 1 } }
MyHist_t m_hist1 { this, "Group/First", "First title", { 1, 0, 1 } }
MyHist_t m_hist2 { this, "Group/Second", "Second title", { 1, 0, 1 } }
MyHist_t m_hist3 { this, "Group/SubGroup/Third", "Third title", { 1, 0, 1 } }

Additional Inherited Members

Public Types inherited from AlgTool
using Factory = Gaudi::PluginService::Factory<IAlgTool*( const std::string&, const std::string&, const IInterface* )>
Public Types inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder >
using base_class
 Typedef to this class.
using extend_interfaces_base
 Typedef to the base of this class.
Public Types inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >
using PropertyHolderImpl
 Typedef used to refer to this class from derived classes, as in.
Public Types inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > >
using base_class
Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids
 take union of the ext_iids of all Interfaces...
Protected Member Functions inherited from AlgTool
template<typename I>
void declareInterface (I *i)
std::vector< IAlgTool * > & tools ()
Protected Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > >
void initDataHandleHolder ()
 initializes all handles - called by the sysInitialize method of any descendant of this
Protected Member Functions inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > >
MSG::Level setUpMessaging () const override final
 Set up local caches.
MSG::Level resetMessaging ()
 Reinitialize internal states.
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream.
Protected Attributes inherited from AlgTool
std::unique_ptr< IDataHandleVisitor > m_updateDataHandles
 Hook for for derived classes to provide a custom visitor for data handles.
Protected Attributes inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > >
DataObjIDColl m_inputDataObjs
DataObjIDColl m_outputDataObjs

Detailed Description

Definition at line 70 of file HistogramsTests.cpp.

Member Function Documentation

◆ AlgTool()

AlgTool::AlgTool ( std::string type,
std::string name,
const IInterface * parent )

Standard Constructor.

Parameters
typethe concrete class of the sub-algtool
namethe full name of the concrete sub-algtool
parentthe parent of the concrete sub-algtool

Definition at line 110 of file AlgTool.cpp.

81 : m_type( std::move( type ) ), m_name( std::move( name ) ), m_parent( parent ) {
82 addRef(); // Initial count set to 1
83
84 IInterface* _p = const_cast<IInterface*>( parent );
85
86 if ( Gaudi::Algorithm* _alg = dynamic_cast<Gaudi::Algorithm*>( _p ) ) {
87 m_svcLocator = _alg->serviceLocator();
88 } else if ( Service* _svc = dynamic_cast<Service*>( _p ) ) {
89 m_svcLocator = _svc->serviceLocator();
90 } else if ( AlgTool* _too = dynamic_cast<AlgTool*>( _p ) ) {
91 m_svcLocator = _too->serviceLocator();
92 } else if ( Gaudi::Auditor* _aud = dynamic_cast<Gaudi::Auditor*>( _p ) ) {
93 m_svcLocator = _aud->serviceLocator();
94 } else {
95 throw GaudiException( "Failure to create tool '" + m_type + "/" + m_name + "': illegal parent type '" +
96 System::typeinfoName( typeid( *_p ) ) + "'",
97 "AlgTool", StatusCode::FAILURE );
98 }
99
100 // inherit output level from parent
101 // get the "OutputLevel" property from parent
102 if ( SmartIF<IProperty> pprop( _p ); pprop && pprop->hasProperty( "OutputLevel" ) ) {
103 m_outputLevel.assign( pprop->getProperty( "OutputLevel" ) );
104 }
105
106 // Auditor monitoring properties
107 // Initialize the default value from ApplicationMgr AuditAlgorithms
108 Gaudi::Property<bool> audit( "AuditTools", false );
109 // note that here we need that the service locator is already defined
110 if ( auto appMgr = serviceLocator()->service<IProperty>( "ApplicationMgr" ) ) {
111 appMgr->getProperty( &audit ).ignore();
112 }
113
114 m_auditorInitialize = audit;
115 m_auditorStart = audit;
116 m_auditorStop = audit;
117 m_auditorFinalize = audit;
118 m_auditorReinitialize = audit;
119 m_auditorRestart = audit;
120}
SmartIF< ISvcLocator > m_svcLocator
Pointer to Service Locator service.
Definition AlgTool.h:267
Gaudi::Property< int > m_outputLevel
Definition AlgTool.h:277
const std::string m_name
AlgTool full name.
Definition AlgTool.h:264
Gaudi::Property< bool > m_auditorInitialize
Definition AlgTool.h:285
const IInterface * parent() const override
Retrieve parent of the sub-algtool.
Definition AlgTool.cpp:61
const std::string & type() const override
Retrieve type (concrete class) of the sub-algtool.
Definition AlgTool.cpp:59
const IInterface * m_parent
AlgTool parent.
Definition AlgTool.h:265
SmartIF< IService > service(std::string_view name, const bool createIf=true, const bool quiet=false) const
Return a pointer to the service identified by name (or "type/name").
Definition AlgTool.cpp:340
const std::string & name() const override
Retrieve full identifying name of the concrete tool object.
Definition AlgTool.cpp:57
Gaudi::Property< bool > m_auditorStart
Definition AlgTool.h:286
Gaudi::Property< bool > m_auditorStop
Definition AlgTool.h:287
Gaudi::Property< bool > m_auditorReinitialize
Definition AlgTool.h:289
std::string m_type
AlgTool type (concrete class name).
Definition AlgTool.h:263
Gaudi::Property< bool > m_auditorFinalize
Definition AlgTool.h:288
Gaudi::Property< bool > m_auditorRestart
Definition AlgTool.h:290
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
Definition AlgTool.cpp:63
constexpr static const auto FAILURE
Definition StatusCode.h:100
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition System.cpp:254
AlgTool(std::string type, std::string name, const IInterface *parent)
Standard Constructor.
Definition AlgTool.cpp:80

◆ fillHistos()

void Gaudi::Tests::Histograms::Directories::HistoGroupsTool::fillHistos ( ) const
inline

Member Data Documentation

◆ m_hist0

MyHist_t Gaudi::Tests::Histograms::Directories::HistoGroupsTool::m_hist0 { this, "Top", "Top title", { 1, 0, 1 } }
mutable

Definition at line 73 of file HistogramsTests.cpp.

73{ this, "Top", "Top title", { 1, 0, 1 } };

◆ m_hist1

MyHist_t Gaudi::Tests::Histograms::Directories::HistoGroupsTool::m_hist1 { this, "Group/First", "First title", { 1, 0, 1 } }
mutable

Definition at line 74 of file HistogramsTests.cpp.

74{ this, "Group/First", "First title", { 1, 0, 1 } };

◆ m_hist2

MyHist_t Gaudi::Tests::Histograms::Directories::HistoGroupsTool::m_hist2 { this, "Group/Second", "Second title", { 1, 0, 1 } }
mutable

Definition at line 75 of file HistogramsTests.cpp.

75{ this, "Group/Second", "Second title", { 1, 0, 1 } };

◆ m_hist3

MyHist_t Gaudi::Tests::Histograms::Directories::HistoGroupsTool::m_hist3 { this, "Group/SubGroup/Third", "Third title", { 1, 0, 1 } }
mutable

Definition at line 76 of file HistogramsTests.cpp.

76{ this, "Group/SubGroup/Third", "Third title", { 1, 0, 1 } };

The documentation for this struct was generated from the following file: