ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DataQuality
DataQualityInterfaces
DataQualityInterfaces
MiniConfigTreeNode.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef dqiMiniConfigTreeNode_h
6
#define dqiMiniConfigTreeNode_h
7
8
#include <map>
9
#include <set>
10
#include <string>
11
#include <string_view>
12
13
#include <TObject.h>
14
15
16
namespace
dqi
{
17
25
26
class
MiniConfigTreeNode
:
public
TObject {
27
public
:
28
29
class
Visitor
{
30
public
:
31
virtual
~Visitor
() { }
32
virtual
void
Visit
(
const
MiniConfigTreeNode
*
node
) = 0;
33
};
34
35
class
Writer
{
36
public
:
37
virtual
~Writer
() { }
38
virtual
void
Write
(
MiniConfigTreeNode
*
node
) = 0;
39
};
40
41
MiniConfigTreeNode
( std::string name_,
MiniConfigTreeNode
* parent_ );
42
43
virtual
~MiniConfigTreeNode
();
44
45
virtual
const
char
*
GetName
()
const
;
46
47
virtual
std::string
GetPathName
()
const
;
48
49
54
55
virtual
MiniConfigTreeNode
*
GetNewDaughter
( std::string name_ );
56
57
virtual
MiniConfigTreeNode
*
GetDaughter
( std::string name_ )
const
;
58
59
virtual
const
MiniConfigTreeNode
*
GetParent
()
const
{
return
m_parent
; }
60
virtual
MiniConfigTreeNode
*
GetParent
() {
return
m_parent
; }
61
62
virtual
std::map<std::string,dqi::MiniConfigTreeNode*>
GetDaughters
()
const
;
63
70
71
virtual
const
MiniConfigTreeNode
*
GetNode
(
const
std::string & name_ )
const
;
72
73
74
virtual
void
SetAttribute
(
const
std::string & attName,
const
std::string & attValue,
bool
isAttribKeyword =
false
);
75
76
virtual
std::string
GetAttribute
( std::string_view attName,
bool
calledFromDaughter =
false
)
const
;
77
78
virtual
std::string
GetAttributeLocal
(
const
std::string & attName )
const
;
79
80
virtual
void
GetAttributeNames
( std::set<std::string>& attSet,
bool
calledFromDaughter =
false
)
const
;
81
82
virtual
void
GetAttributeNamesLocal
( std::set<std::string>& attSet )
const
;
83
84
85
virtual
void
Accept
( Visitor& visitor )
const
;
86
87
virtual
void
Accept
(Writer&
writer
);
88
89
virtual
void
SetAttribKeywordPropagateDown
(
bool
propagateDown );
90
91
virtual
bool
GetAttribKeywordPropagateDown
()
const
;
92
93
protected
:
94
95
typedef
std::map<std::string,MiniConfigTreeNode*>
NodeMap_t
;
96
typedef
NodeMap_t::const_iterator
NodeIter_t
;
97
98
typedef
std::map<std::string,std::pair<std::string,bool>, std::less<> >
AttMap_t
;
99
typedef
AttMap_t::const_iterator
AttIter_t
;
100
101
const
std::string
m_name
;
102
MiniConfigTreeNode
*
m_parent
{};
103
104
NodeMap_t
m_daughters
;
105
AttMap_t
m_attributes
;
106
107
bool
m_propagateDown
{};
108
109
private
:
110
111
//Get rid of Root macros that confuse Doxygen
113
ClassDef(
MiniConfigTreeNode
, 0 )
// A node in a configuration tree
115
};
116
117
}
// namespace dqi
118
119
#endif
writer
std::shared_ptr< HepMC3::Writer > writer
dqi::MiniConfigTreeNode::Visitor
Definition
MiniConfigTreeNode.h:29
dqi::MiniConfigTreeNode::Visitor::~Visitor
virtual ~Visitor()
Definition
MiniConfigTreeNode.h:31
dqi::MiniConfigTreeNode::Visitor::Visit
virtual void Visit(const MiniConfigTreeNode *node)=0
dqi::MiniConfigTreeNode::Writer
Definition
MiniConfigTreeNode.h:35
dqi::MiniConfigTreeNode::Writer::~Writer
virtual ~Writer()
Definition
MiniConfigTreeNode.h:37
dqi::MiniConfigTreeNode::Writer::Write
virtual void Write(MiniConfigTreeNode *node)=0
dqi::MiniConfigTreeNode
A node of a tree structure holding a configuration, where each node may be given attributes,...
Definition
MiniConfigTreeNode.h:26
dqi::MiniConfigTreeNode::m_parent
MiniConfigTreeNode * m_parent
Definition
MiniConfigTreeNode.h:102
dqi::MiniConfigTreeNode::GetAttributeLocal
virtual std::string GetAttributeLocal(const std::string &attName) const
Definition
MiniConfigTreeNode.cxx:167
dqi::MiniConfigTreeNode::GetParent
virtual const MiniConfigTreeNode * GetParent() const
Definition
MiniConfigTreeNode.h:59
dqi::MiniConfigTreeNode::AttMap_t
std::map< std::string, std::pair< std::string, bool >, std::less<> > AttMap_t
Definition
MiniConfigTreeNode.h:98
dqi::MiniConfigTreeNode::MiniConfigTreeNode
MiniConfigTreeNode(std::string name_, MiniConfigTreeNode *parent_)
Definition
MiniConfigTreeNode.cxx:26
dqi::MiniConfigTreeNode::GetNode
virtual const MiniConfigTreeNode * GetNode(const std::string &name_) const
This function takes the full path name of a subnode (in UNIX directory style) and returns the corresp...
Definition
MiniConfigTreeNode.cxx:108
dqi::MiniConfigTreeNode::GetAttribKeywordPropagateDown
virtual bool GetAttribKeywordPropagateDown() const
Definition
MiniConfigTreeNode.cxx:239
dqi::MiniConfigTreeNode::GetDaughter
virtual MiniConfigTreeNode * GetDaughter(std::string name_) const
Definition
MiniConfigTreeNode.cxx:89
dqi::MiniConfigTreeNode::GetParent
virtual MiniConfigTreeNode * GetParent()
Definition
MiniConfigTreeNode.h:60
dqi::MiniConfigTreeNode::GetName
virtual const char * GetName() const
Definition
MiniConfigTreeNode.cxx:47
dqi::MiniConfigTreeNode::GetDaughters
virtual std::map< std::string, dqi::MiniConfigTreeNode * > GetDaughters() const
Definition
MiniConfigTreeNode.cxx:101
dqi::MiniConfigTreeNode::Accept
virtual void Accept(Visitor &visitor) const
Definition
MiniConfigTreeNode.cxx:208
dqi::MiniConfigTreeNode::GetNewDaughter
virtual MiniConfigTreeNode * GetNewDaughter(std::string name_)
Returns a daughter of this node, creating one if necessary.
Definition
MiniConfigTreeNode.cxx:72
dqi::MiniConfigTreeNode::NodeMap_t
std::map< std::string, MiniConfigTreeNode * > NodeMap_t
Definition
MiniConfigTreeNode.h:95
dqi::MiniConfigTreeNode::AttIter_t
AttMap_t::const_iterator AttIter_t
Definition
MiniConfigTreeNode.h:99
dqi::MiniConfigTreeNode::GetAttributeNames
virtual void GetAttributeNames(std::set< std::string > &attSet, bool calledFromDaughter=false) const
Definition
MiniConfigTreeNode.cxx:179
dqi::MiniConfigTreeNode::SetAttribute
virtual void SetAttribute(const std::string &attName, const std::string &attValue, bool isAttribKeyword=false)
Definition
MiniConfigTreeNode.cxx:139
dqi::MiniConfigTreeNode::SetAttribKeywordPropagateDown
virtual void SetAttribKeywordPropagateDown(bool propagateDown)
Definition
MiniConfigTreeNode.cxx:232
dqi::MiniConfigTreeNode::m_name
const std::string m_name
Definition
MiniConfigTreeNode.h:101
dqi::MiniConfigTreeNode::GetPathName
virtual std::string GetPathName() const
Definition
MiniConfigTreeNode.cxx:55
dqi::MiniConfigTreeNode::GetAttributeNamesLocal
virtual void GetAttributeNamesLocal(std::set< std::string > &attSet) const
Definition
MiniConfigTreeNode.cxx:197
dqi::MiniConfigTreeNode::NodeIter_t
NodeMap_t::const_iterator NodeIter_t
Definition
MiniConfigTreeNode.h:96
dqi::MiniConfigTreeNode::m_attributes
AttMap_t m_attributes
Definition
MiniConfigTreeNode.h:105
dqi::MiniConfigTreeNode::GetAttribute
virtual std::string GetAttribute(std::string_view attName, bool calledFromDaughter=false) const
Definition
MiniConfigTreeNode.cxx:148
dqi::MiniConfigTreeNode::m_daughters
NodeMap_t m_daughters
Definition
MiniConfigTreeNode.h:104
dqi::MiniConfigTreeNode::~MiniConfigTreeNode
virtual ~MiniConfigTreeNode()
Definition
MiniConfigTreeNode.cxx:35
dqi::MiniConfigTreeNode::m_propagateDown
bool m_propagateDown
Definition
MiniConfigTreeNode.h:107
node
Definition
node.h:24
dqi
Definition
CompositeAlgorithm.h:16
Generated on
for ATLAS Offline Software by
1.17.0