ATLAS Offline Software
Classes | Public Member Functions | List of all members
ITagInfoMgr Class Referenceabstract

This is a Athena service which manages detector description tag information. It maintains a TagInfo object with current tag values. More...

#include <ITagInfoMgr.h>

Inheritance diagram for ITagInfoMgr:
Collaboration diagram for ITagInfoMgr:

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...
 

Public Member Functions

 DeclareInterfaceID (ITagInfoMgr, 1, 0)
 Declare interface ID. More...
 

typedefs: (a copy from TagInfo, to avoid dependencies)

typedef std::pair< std::string, std::string > NameTagPair
 
typedef std::vector< NameTagPairNameTagPairVec
 
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...
 

Detailed Description

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.

Member Typedef Documentation

◆ NameTagPair

typedef std::pair<std::string, std::string> ITagInfoMgr::NameTagPair

Definition at line 65 of file ITagInfoMgr.h.

◆ NameTagPairVec

Definition at line 66 of file ITagInfoMgr.h.

Member Function Documentation

◆ addListener()

virtual void ITagInfoMgr::addListener ( Listener listener)
pure virtual

Add a Listener to the notification list for TagInfo changes.

◆ addTag()

virtual StatusCode ITagInfoMgr::addTag ( const std::string &  tagName,
const std::string &  tagValue 
)
pure virtual

Method to allow clients to add in tags as: tag name, tag value.

◆ DeclareInterfaceID()

ITagInfoMgr::DeclareInterfaceID ( ITagInfoMgr  ,
,
 
)

Declare interface ID.

◆ dumpTagInfoToStr()

virtual std::string ITagInfoMgr::dumpTagInfoToStr ( ) const
pure virtual

Dump the content of the current TagInfo to std::string for debug.

◆ findInputTag()

virtual std::string ITagInfoMgr::findInputTag ( const std::string &  name) const
pure virtual

Find INPUT tag by its name, return by value - empty string if not found.

◆ findTag()

virtual std::string ITagInfoMgr::findTag ( const std::string &  name) const
pure virtual

Find tag by its name, return by value - empty string if not found.

◆ getInputTags()

virtual NameTagPairVec ITagInfoMgr::getInputTags ( ) const
pure virtual

Return a vector with all current input tags.

◆ printTags()

virtual void ITagInfoMgr::printTags ( MsgStream &  log) const
pure virtual

Printout method.

◆ removeListener()

virtual void ITagInfoMgr::removeListener ( Listener listener)
pure virtual

Remove a Listener from the notification list for TagInfo changes.

◆ removeTagFromInput()

virtual StatusCode ITagInfoMgr::removeTagFromInput ( const std::string &  tagName)
pure virtual

Method to allow clients to remove a tag which may have come in on the input.


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