ATLAS Offline Software
Public Member Functions | Protected Attributes | List of all members
dqi::HanConfigMetadata Class Reference

#include <HanConfigMetadata.h>

Inheritance diagram for dqi::HanConfigMetadata:
Collaboration diagram for dqi::HanConfigMetadata:

Public Member Functions

 HanConfigMetadata ()
 
 HanConfigMetadata (const HanConfigMetadata &other)
 
HanConfigMetadataoperator= (const HanConfigMetadata &other)
 
virtual ~HanConfigMetadata ()
 
virtual void SetName (std::string name)
 
virtual const char * GetName () const
 
virtual void AddKeyVal (const HanConfigParMap &keyval_)
 
virtual HanConfigParMap GetKeyVal (std::string name_) const
 
virtual TIter GetAllKeyVals () const
 
virtual TSeqCollection * GetList (const TDirectory *basedir, std::map< std::string, TSeqCollection * > &mp)
 
virtual void PrintIOStream (std::ostream &o) const
 

Protected Attributes

TObjString m_name
 
TSeqCollection * m_metadata
 

Detailed Description

Definition at line 22 of file HanConfigMetadata.h.

Constructor & Destructor Documentation

◆ HanConfigMetadata() [1/2]

dqi::HanConfigMetadata::HanConfigMetadata ( )

Definition at line 15 of file HanConfigMetadata.cxx.

17 {
18  m_metadata = newTList("metadata");
19 }

◆ HanConfigMetadata() [2/2]

dqi::HanConfigMetadata::HanConfigMetadata ( const HanConfigMetadata other)

Definition at line 21 of file HanConfigMetadata.cxx.

23  :TObject(other),
24  m_name(other.m_name)
25 {
26  m_metadata = newTObjArray("metadata", 0, other.m_metadata->GetEntries());
27  TIter nextParMap( other.m_metadata );
28  HanConfigParMap* otherParMap;
29  while( (otherParMap = dynamic_cast<HanConfigParMap*>( nextParMap() )) != 0 ) {
30  HanConfigParMap* parMap = new HanConfigParMap( *otherParMap );
31  m_metadata->Add( parMap );
32  }
33 }

◆ ~HanConfigMetadata()

dqi::HanConfigMetadata::~HanConfigMetadata ( )
virtual

Definition at line 53 of file HanConfigMetadata.cxx.

54  {
55  m_metadata->Delete();
56  delete m_metadata;
57 }

Member Function Documentation

◆ AddKeyVal()

void dqi::HanConfigMetadata::AddKeyVal ( const HanConfigParMap keyval_)
virtual

Definition at line 74 of file HanConfigMetadata.cxx.

76 {
77  HanConfigParMap* parMap = new HanConfigParMap( keyval_ );
78  m_metadata->Add( parMap );
79 }

◆ GetAllKeyVals()

TIter dqi::HanConfigMetadata::GetAllKeyVals ( ) const
virtual

Definition at line 95 of file HanConfigMetadata.cxx.

97 {
98  return TIter( m_metadata );
99 }

◆ GetKeyVal()

HanConfigParMap dqi::HanConfigMetadata::GetKeyVal ( std::string  name_) const
virtual

Definition at line 82 of file HanConfigMetadata.cxx.

84 {
85  HanConfigParMap* parMap = dynamic_cast<HanConfigParMap*>( m_metadata->FindObject(name_.c_str()) );
86  if( parMap == 0 ) {
87  return HanConfigParMap();
88  }
89 
90  return *parMap;
91 }

◆ GetList()

TSeqCollection * dqi::HanConfigMetadata::GetList ( const TDirectory *  basedir,
std::map< std::string, TSeqCollection * > &  mp 
)
virtual

Definition at line 102 of file HanConfigMetadata.cxx.

104 {
105  TSeqCollection* mdList = newTList(GetName());
106  mp[mdList->GetName()] = mdList;
107  TIter mdIter(m_metadata);
108  HanConfigParMap* parMap(0);
109  while ((parMap = dynamic_cast<HanConfigParMap*>(mdIter()))) {
110  mdList->Add(parMap->GetList());
111  }
112  return mdList;
113 }

◆ GetName()

const char * dqi::HanConfigMetadata::GetName ( ) const
virtual

Definition at line 67 of file HanConfigMetadata.cxx.

69 {
70  return m_name.GetName();
71 }

◆ operator=()

HanConfigMetadata & dqi::HanConfigMetadata::operator= ( const HanConfigMetadata other)

Definition at line 36 of file HanConfigMetadata.cxx.

37 {
38  if (this == &other) return *this;
39 
40  m_name = other.m_name;
41  m_metadata->Delete(); delete m_metadata;
42  m_metadata = newTObjArray("metadata", 0, other.m_metadata->GetEntries());
43  TIter nextParMap( other.m_metadata );
44  HanConfigParMap* otherParMap;
45  while( (otherParMap = dynamic_cast<HanConfigParMap*>( nextParMap() )) != 0 ) {
46  HanConfigParMap* parMap = new HanConfigParMap( *otherParMap );
47  m_metadata->Add( parMap );
48  }
49 
50  return *this;
51 }

◆ PrintIOStream()

void dqi::HanConfigMetadata::PrintIOStream ( std::ostream &  o) const
virtual

Definition at line 117 of file HanConfigMetadata.cxx.

119 {
120  o << "\nHanConfigMetadata: " << this->GetName() << "\n";
121 
122  if (!( m_metadata->IsEmpty())) {
123  TIter nextParMap(m_metadata);
124  HanConfigParMap* parMap;
125  while( (parMap = dynamic_cast<HanConfigParMap*>( nextParMap() )) != 0 ) {
126  o << " " << parMap;
127  }
128  }
129 }

◆ SetName()

void dqi::HanConfigMetadata::SetName ( std::string  name)
virtual

Definition at line 60 of file HanConfigMetadata.cxx.

62 {
63  m_name.SetString(name_.c_str());
64 }

Member Data Documentation

◆ m_metadata

TSeqCollection* dqi::HanConfigMetadata::m_metadata
protected

Definition at line 42 of file HanConfigMetadata.h.

◆ m_name

TObjString dqi::HanConfigMetadata::m_name
protected

Definition at line 41 of file HanConfigMetadata.h.


The documentation for this class was generated from the following files:
dqi::HanConfigMetadata::m_metadata
TSeqCollection * m_metadata
Definition: HanConfigMetadata.h:42
dqi::newTList
TSeqCollection * newTList(const char *name, TObject *obj=0)
Definition: HanUtils.cxx:19
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
dqi::HanConfigMetadata::m_name
TObjString m_name
Definition: HanConfigMetadata.h:41
dqi::newTObjArray
TSeqCollection * newTObjArray(const char *name, TObject *obj=0, Int_t size=TCollection::kInitCapacity)
Definition: HanUtils.cxx:28
dqi::HanConfigMetadata::GetName
virtual const char * GetName() const
Definition: HanConfigMetadata.cxx:68