![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef EVENTINFOMGT_TAGINFOMGR_H
7 #define EVENTINFOMGT_TAGINFOMGR_H
21 #include "GaudiKernel/Service.h"
22 #include "GaudiKernel/ServiceHandle.h"
23 #include "GaudiKernel/ToolHandle.h"
26 #include "GaudiKernel/MsgStream.h"
32 #include <shared_mutex>
69 virtual public IIncidentListener
91 const std::string& tagValue)
override;
98 virtual std::string
findTag(
const std::string &
name)
const override final;
101 virtual std::string
findInputTag(
const std::string&
name)
const override final;
110 virtual void printTags(MsgStream&
log)
const override final;
121 void handle(
const Incident& incident)
override final;
157 Gaudi::Property<std::map<std::string,std::string> >
158 m_extraTagValuePairs {
this,
"ExtraTagValuePairs", {},
"key/value pairs to be added",
"mapMergeNoReplace<T,T>" };
176 PublicToolHandle<IIOVDbMetaDataTool>
m_metaDataTool {
this,
"IOVDbMetaDataTool",
"IOVDbMetaDataTool" };
204 #endif // EVENTINFOMGT_TAGINFOMGR_H
virtual void addListener(Listener *listener) override final
Add a Listener to the notification list for TagInfo changes.
virtual StatusCode start() override
ServiceHandle< StoreGateSvc > m_storeGate
The event store.
virtual std::string findTag(const std::string &name) const override final
Find tag by name, return by value.
virtual StatusCode addTag(const std::string &tagName, const std::string &tagValue) override
Method to allow clients add in tags as: tag name, tag value.
Validity Range object. Holds two IOVTimes (start and stop)
Validity Range object. Holds two IOVTime instances (start and stop)
virtual NameTagPairVec getInputTags() const override final
Return a vector with all current input tags.
virtual void removeListener(Listener *listener) override final
Remove a Listener from the notification list for TagInfo changes.
EventIDBase::number_type m_conditionsRun
conditionsRun from the first BeginRun incident (HLT)
StatusCode fillMetaData(const CondAttrListCollection *tagInfoCond)
std::map< std::string, std::string > m_extraTagValuePairsViaInterface
Extra tags/values pairs added in via interface.
TagInfoMgr(const TagInfoMgr &)
Abstract interface to IOVDbSvc to access IOVRange and tag information.
This class is a collection of AttributeLists where each one is associated with a channel number....
StatusCode updateTagInfo()
Update Tags when input tags (/TagInfo in-file metadata) change.
virtual StatusCode finalize() override
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
The Athena Transient Store API.
EventIDBase::number_type m_currentRun
current run number from BeginRun incident
void handle(const Incident &incident) override final
This class contains the list of currently valid tags for detector description - GeoModel and IOV/Cond...
Listener interface class that client who want to be notified about TagInfo update should implement (a...
std::vector< NameTagPair > NameTagPairVec
virtual void printTags(MsgStream &log) const override final
Printout method.
::StatusCode StatusCode
StatusCode definition for legacy code.
This is a Athena service which manages detector description tag information. It maintains a TagInfo o...
TagInfo m_tagInfo
The Tags.
Gaudi::Property< std::map< std::string, std::string > > m_extraTagValuePairs
Extra tags/values pairs added in my jobOptions.
bool m_isFirstBeginRun
Flag to identify the first BeginRun incident.
std::shared_mutex m_mutex ATLAS_THREAD_SAFE
mutex to protect internal data in MT
virtual std::string dumpTagInfoToStr() const override final
Dump the content of the current TagInfo to std::string for debug.
IOVRange m_lastIOVRange
IOVRange of last TagInfo added to the file meta data.
std::set< Listener * > m_listeners
List of listeners notified when the TagInfo changed.
Allow the factory class access to the constructor.
ServiceHandle< StoreGateSvc > m_detStore
The detector store.
virtual StatusCode removeTagFromInput(const std::string &tagName) override
Method to allow clients to remove a tag which may have come in on the input.
This class contains the list of currently valid tags for detector description - GeoModel and IOV/Cond...
StatusCode getRunNumber(unsigned int &runNumber)
void notifyListeners() const
Notify all listeners that the Tags were updated.
PublicToolHandle< IIOVDbMetaDataTool > m_metaDataTool
Access to iov meta data tool.
StatusCode fillTagInfo(const CondAttrListCollection *tagInfoCond)
This is a Athena service which manages detector description tag information. It maintains a TagInfo o...
ServiceHandle< IIOVDbSvc > m_iovDbSvc
Access to IOVDbSvc interface - used to register callback.
virtual StatusCode initialize() override
virtual std::string findInputTag(const std::string &name) const override final
Find tag by its name - for input tags, return by value.
std::set< std::string > m_tagsToBeRemoved
Extra tags to be removed.
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Query the interfaces.
TagInfoMgr & operator=(const TagInfoMgr &)