1 #ifndef GAUDIALG_FIXTESPATH_H 2 #define GAUDIALG_FIXTESPATH_H 24 template <typename U = BASE, typename = std::enable_if_t<std::is_base_of<Gaudi::Algorithm, BASE>::value, U>>
29 template <typename U = BASE, typename = std::enable_if_t<std::is_base_of<AlgTool, BASE>::value, U>>
31 : BASE( type, name, ancestor ) {
33 if (
const IProperty* ancestorProp = dynamic_cast<const IProperty*>( ancestor );
34 ancestorProp && ancestorProp->
hasProperty(
"RootInTES" ) ) {
35 this->
setProperty( ancestorProp->getProperty(
"RootInTES" ) ).ignore();
45 rootInTES(), dataMgrSvc->rootName(), BASE::msgLevel(
MSG::DEBUG ) ? &this->debug() : nullptr );
64 auto& rit = this->m_rootInTES.
value();
65 if ( !rit.empty() && rit.back() !=
'/' ) rit +=
'/';
67 "note: overridden by parent settings"};
const std::string & rootInTES() const
Returns the "rootInTES" string.
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition of the MsgStream class used to transmit messages.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Implementation of property with value of concrete type.
virtual bool hasProperty(const std::string &name) const =0
Return true if we have a property with the given name.
FixTESPath(const std::string &type, const std::string &name, const IInterface *ancestor)
Tool constructor - SFINAE-ed to insure this constructor is only defined if BASE derives from AlgTool...
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
std::string fullTESLocation(std::string_view location, bool useRootInTES) const
Returns the full correct event location given the rootInTes settings.
std::string fullTESLocation(std::string_view location, std::string_view rit)
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
FixTESPath(const std::string &name, ISvcLocator *pSvcLocator)
Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined ...
StatusCode initialize() override
const ValueType & value() const
Backward compatibility (.
std::unique_ptr< IDataHandleVisitor > fixDataHandlePath(std::string_view rit, std::string rootName, MsgStream *dbg)
The IProperty is the basic interface for all components which have properties that can be set or get...