ATLAS Offline Software
Classes | Public Types | Public Member Functions | Private Attributes | Static Private Attributes | List of all members
CBNode Class Reference

#include <CBNode.h>

Collaboration diagram for CBNode:

Classes

class  nodeOrder
 

Public Types

typedef IOVSvcCallBackFcn BFCN
 
typedef std::set< CBNode *, CBNode::nodeOrdernodeSet
 
typedef std::vector< const CBNode * > constNodeVec
 

Public Member Functions

 CBNode ()=delete
 
 CBNode (const std::string &name, CBNode *parent)
 
 CBNode (const SG::DataProxy *proxy, const std::string &name, CBNode *parent)
 
 CBNode (BFCN *fcn, const CallBackID &cb, CBNode *parent)
 
 ~CBNode ()
 
void addParent (CBNode *parent)
 
void addChild (CBNode *child)
 
bool delParent (CBNode *parent)
 
bool delChild (CBNode *child)
 
const nodeSetchildren ()
 
const nodeSetparents ()
 
constNodeVec children () const
 
constNodeVec parents () const
 
std::string name () const
 
int level () const
 
void setLevel (int l)
 
bool trigger () const
 
void setTrigger (bool b)
 
bool flag () const
 
void setFlag (bool b)
 
const SG::DataProxyproxy () const
 
void setProxy (const SG::DataProxy *p)
 
BFCNfcn ()
 
const BFCNfcn () const
 
unsigned int serial () const
 

Private Attributes

nodeSet m_parents
 
nodeSet m_children
 
std::string m_name
 
int m_level
 
const SG::DataProxym_proxy
 
BFCNm_fcn
 
CallBackID m_cbid
 
bool m_trig
 
bool m_flag
 
unsigned int m_serial
 

Static Private Attributes

static std::atomic< unsigned int > s_serial = 0
 

Detailed Description

Definition at line 30 of file CBNode.h.

Member Typedef Documentation

◆ BFCN

Definition at line 33 of file CBNode.h.

◆ constNodeVec

typedef std::vector<const CBNode*> CBNode::constNodeVec

Definition at line 55 of file CBNode.h.

◆ nodeSet

Definition at line 54 of file CBNode.h.

Constructor & Destructor Documentation

◆ CBNode() [1/4]

CBNode::CBNode ( )
delete

◆ CBNode() [2/4]

CBNode::CBNode ( const std::string &  name,
CBNode parent 
)

Definition at line 22 of file CBNode.cxx.

22  :
23  m_name(name), m_proxy(0), m_fcn(0), m_trig(false), m_flag(false) {
24  m_serial = ++s_serial;
25  if (parent != 0) {
26  m_level = parent->level() + 1;
27  addParent( parent );
28  parent->addChild( this );
29  } else {
30  m_level = 0;
31  }
32 }

◆ CBNode() [3/4]

CBNode::CBNode ( const SG::DataProxy proxy,
const std::string &  name,
CBNode parent 
)

Definition at line 34 of file CBNode.cxx.

35  :
36  m_name(name), m_proxy(proxy), m_fcn(0), m_trig(false), m_flag(false) {
37  m_serial = ++s_serial;
38  if (parent != 0) {
39  m_level = parent->level() + 1;
40  addParent( parent );
41  parent->addChild( this );
42  } else {
43  m_level = 0;
44  }
45 }

◆ CBNode() [4/4]

CBNode::CBNode ( BFCN fcn,
const CallBackID cb,
CBNode parent 
)

Definition at line 47 of file CBNode.cxx.

47  :
48  m_name (cb.name()),
49  m_proxy(0), m_fcn(fcn), m_cbid(cb), m_trig(false), m_flag(false) {
50  m_serial = ++s_serial;
51 
52  if (parent != 0) {
53  m_level = parent->level() + 1;
54  addParent( parent );
55  parent->addChild( this );
56  } else {
57  m_level = 0;
58  }
59 }

◆ ~CBNode()

CBNode::~CBNode ( )

Definition at line 61 of file CBNode.cxx.

61  {
62 
63 }

Member Function Documentation

◆ addChild()

void CBNode::addChild ( CBNode child)

Definition at line 70 of file CBNode.cxx.

70  {
71  assert(child);
72  m_children.insert( child );
73 }

◆ addParent()

void CBNode::addParent ( CBNode parent)

Definition at line 65 of file CBNode.cxx.

65  {
66  assert( parent);
67  m_parents.insert( parent );
68 }

◆ children() [1/2]

const nodeSet& CBNode::children ( )
inline

Definition at line 69 of file CBNode.h.

69 { return m_children; }

◆ children() [2/2]

constNodeVec CBNode::children ( ) const
inline

Definition at line 71 of file CBNode.h.

71 { return constNodeVec (m_children.begin(), m_children.end()); }

◆ delChild()

bool CBNode::delChild ( CBNode child)

Definition at line 84 of file CBNode.cxx.

84  {
85  std::set<CBNode*>::iterator itr = m_children.find(child);
86  if (itr != m_children.end()) {
87  m_children.erase( itr );
88  return true;
89  }
90  return false;
91 }

◆ delParent()

bool CBNode::delParent ( CBNode parent)

Definition at line 75 of file CBNode.cxx.

75  {
77  if (itr != m_parents.end()) {
78  m_parents.erase( itr );
79  return true;
80  }
81  return false;
82 }

◆ fcn() [1/2]

BFCN* CBNode::fcn ( )
inline

Definition at line 87 of file CBNode.h.

87 { return m_fcn; }

◆ fcn() [2/2]

const BFCN* CBNode::fcn ( ) const
inline

Definition at line 88 of file CBNode.h.

88 { return m_fcn; }

◆ flag()

bool CBNode::flag ( ) const
inline

Definition at line 81 of file CBNode.h.

81 { return m_flag; }

◆ level()

int CBNode::level ( ) const
inline

Definition at line 75 of file CBNode.h.

75 { return m_level; }

◆ name()

std::string CBNode::name ( ) const
inline

Definition at line 74 of file CBNode.h.

74 { return m_name; }

◆ parents() [1/2]

const nodeSet& CBNode::parents ( )
inline

Definition at line 70 of file CBNode.h.

70 { return m_parents; }

◆ parents() [2/2]

constNodeVec CBNode::parents ( ) const
inline

Definition at line 72 of file CBNode.h.

72 { return constNodeVec (m_parents.begin(), m_parents.end()); }

◆ proxy()

const SG::DataProxy* CBNode::proxy ( ) const
inline

Definition at line 84 of file CBNode.h.

84 { return m_proxy; }

◆ serial()

unsigned int CBNode::serial ( ) const
inline

Definition at line 90 of file CBNode.h.

90 { return m_serial; }

◆ setFlag()

void CBNode::setFlag ( bool  b)
inline

Definition at line 82 of file CBNode.h.

82 { m_flag = b; }

◆ setLevel()

void CBNode::setLevel ( int  l)
inline

Definition at line 76 of file CBNode.h.

76 { m_level = l; }

◆ setProxy()

void CBNode::setProxy ( const SG::DataProxy p)

Definition at line 93 of file CBNode.cxx.

93  {
94  assert(0 != p);
95  m_proxy=p;
96  m_name=p->name();
97 }

◆ setTrigger()

void CBNode::setTrigger ( bool  b)
inline

Definition at line 79 of file CBNode.h.

79 { m_trig = b; }

◆ trigger()

bool CBNode::trigger ( ) const
inline

Definition at line 78 of file CBNode.h.

78 { return m_trig; }

Member Data Documentation

◆ m_cbid

CallBackID CBNode::m_cbid
private

Definition at line 101 of file CBNode.h.

◆ m_children

nodeSet CBNode::m_children
private

Definition at line 94 of file CBNode.h.

◆ m_fcn

BFCN* CBNode::m_fcn
private

Definition at line 100 of file CBNode.h.

◆ m_flag

bool CBNode::m_flag
private

Definition at line 104 of file CBNode.h.

◆ m_level

int CBNode::m_level
private

Definition at line 97 of file CBNode.h.

◆ m_name

std::string CBNode::m_name
private

Definition at line 96 of file CBNode.h.

◆ m_parents

nodeSet CBNode::m_parents
private

Definition at line 93 of file CBNode.h.

◆ m_proxy

const SG::DataProxy* CBNode::m_proxy
private

Definition at line 99 of file CBNode.h.

◆ m_serial

unsigned int CBNode::m_serial
private

Definition at line 106 of file CBNode.h.

◆ m_trig

bool CBNode::m_trig
private

Definition at line 103 of file CBNode.h.

◆ s_serial

std::atomic< unsigned int > CBNode::s_serial = 0
staticprivate

Definition at line 107 of file CBNode.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
CBNode::m_trig
bool m_trig
Definition: CBNode.h:103
CBNode::proxy
const SG::DataProxy * proxy() const
Definition: CBNode.h:84
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
CBNode::m_serial
unsigned int m_serial
Definition: CBNode.h:106
CBNode::m_name
std::string m_name
Definition: CBNode.h:96
CBNode::m_fcn
BFCN * m_fcn
Definition: CBNode.h:100
CBNode::m_proxy
const SG::DataProxy * m_proxy
Definition: CBNode.h:99
CBNode::constNodeVec
std::vector< const CBNode * > constNodeVec
Definition: CBNode.h:55
CBNode::s_serial
static std::atomic< unsigned int > s_serial
Definition: CBNode.h:107
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CBNode::name
std::string name() const
Definition: CBNode.h:74
CBNode::addParent
void addParent(CBNode *parent)
Definition: CBNode.cxx:65
CBNode::m_flag
bool m_flag
Definition: CBNode.h:104
CBNode::m_cbid
CallBackID m_cbid
Definition: CBNode.h:101
CBNode::m_children
nodeSet m_children
Definition: CBNode.h:94
CBNode::m_parents
nodeSet m_parents
Definition: CBNode.h:93
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
CBNode::fcn
BFCN * fcn()
Definition: CBNode.h:87
CallBackID::name
std::string name() const
Definition: CallBackID.h:46
CBNode::m_level
int m_level
Definition: CBNode.h:97