![]() |
ATLAS Offline Software
|
This is a Athena service which manages detector description tag information. It maintains a TagInfo object with current tag values. More...
#include <ITagInfoMgr.h>
Classes | |
class | Listener |
Listener interface class that client who want to be notified about TagInfo update should implement (and then register themselves calliing addListener()) More... | |
typedefs: (a copy from TagInfo, to avoid dependencies) | |
typedef std::pair< std::string, std::string > | NameTagPair |
typedef std::vector< NameTagPair > | NameTagPairVec |
virtual void | addListener (Listener *listener)=0 |
Add a Listener to the notification list for TagInfo changes. More... | |
virtual void | removeListener (Listener *listener)=0 |
Remove a Listener from the notification list for TagInfo changes. More... | |
virtual StatusCode | addTag (const std::string &tagName, const std::string &tagValue)=0 |
Method to allow clients to add in tags as: tag name, tag value. More... | |
virtual StatusCode | removeTagFromInput (const std::string &tagName)=0 |
Method to allow clients to remove a tag which may have come in on the input. More... | |
virtual std::string | findTag (const std::string &name) const =0 |
Find tag by its name, return by value - empty string if not found. More... | |
virtual std::string | findInputTag (const std::string &name) const =0 |
Find INPUT tag by its name, return by value - empty string if not found. More... | |
virtual NameTagPairVec | getInputTags () const =0 |
Return a vector with all current input tags. More... | |
virtual std::string | dumpTagInfoToStr () const =0 |
Dump the content of the current TagInfo to std::string for debug. More... | |
virtual void | printTags (MsgStream &log) const =0 |
Printout method. More... | |
static const InterfaceID & | interfaceID () |
Retrieve interface ID. More... | |
This is a Athena service which manages detector description tag information. It maintains a TagInfo object with current tag values.
The tags to fill the TagInfo object may come from a variety of sources: i.e. the tags specified by the GeoModelSvc and IOVDbSvc, or the tags stored in the incoming EventInfo object, or the TagInfo object itself may be in the IOV DB. The exact combination is controlled by job options.
This interface also provides a 'input' method to allow client to add in their own tags:
virtual StatusCode addTag(const std::string& tagName, const std::string& tagValue) = 0;
The full set of tags in TagInfo are copied each event into EventInfo (specifically EventType) to be written out in the event stream. Currently, the tags are NOT written to the IOV DB via the TagInfoMgr.
Some clients need to know when detector description tags change so that they may update their descriptions, such as the geometry description. The TagInfo object will change in this case. So clients that need to know when tags change should register themselves by calling ITagInfoMgr::addListener(listener*) method. These clients need to implement the ITagInfoMgr::Listener interface and ITagInfoMgr::Listener::tagInfoUpdated() method which will be called when the TagInfo changes.
Definition at line 57 of file ITagInfoMgr.h.
typedef std::pair<std::string, std::string> ITagInfoMgr::NameTagPair |
Definition at line 62 of file ITagInfoMgr.h.
typedef std::vector<NameTagPair> ITagInfoMgr::NameTagPairVec |
Definition at line 63 of file ITagInfoMgr.h.
|
pure virtual |
Add a Listener to the notification list for TagInfo changes.
Implemented in TagInfoMgr.
|
pure virtual |
Method to allow clients to add in tags as: tag name, tag value.
Implemented in TagInfoMgr.
|
pure virtual |
Dump the content of the current TagInfo to std::string for debug.
Implemented in TagInfoMgr.
|
pure virtual |
Find INPUT tag by its name, return by value - empty string if not found.
Implemented in TagInfoMgr.
|
pure virtual |
Find tag by its name, return by value - empty string if not found.
Implemented in TagInfoMgr.
|
pure virtual |
Return a vector with all current input tags.
Implemented in TagInfoMgr.
|
inlinestatic |
Retrieve interface ID.
Definition at line 113 of file ITagInfoMgr.h.
|
pure virtual |
Printout method.
Implemented in TagInfoMgr.
|
pure virtual |
Remove a Listener from the notification list for TagInfo changes.
Implemented in TagInfoMgr.
|
pure virtual |
Method to allow clients to remove a tag which may have come in on the input.
Implemented in TagInfoMgr.