ATLAS Offline Software
addnode.cxx
Go to the documentation of this file.
1 //
2 // @file addnode.cxx
3 //
4 //
5 // @author M.Sutton
6 //
7 //
8 //
9 // $Id: addnode.cxx, v0.0 Thu 21 Apr 2016 20:31:53 CEST sutt $
10 
11 
12 #include "addnode.h"
13 #include "spacer.h"
14 
17 node* subnode( node* np, const std::string& name ) {
18  if ( np==0 ) return 0;
19  for ( unsigned i=np->size() ; i-- ; ) if ( np->at(i)->name()==name ) return np->at(i);
20  return 0;
21 }
22 
25 node* addnode( node* np, const std::string& name, TObject* td, node::TYPE t ) {
26 
27  node* np_ = subnode( np, name );
28 
29  if ( np_ ) return np_;
30 
31  np_ = new node( np, np->depth()+spacer, td );
32  np_->name( name );
33  np_->type( t );
34 
35  np->push_back( np_ );
36 
37  return np_;
38 }
node::type
void type(TYPE t)
Definition: node.h:48
addnode.h
addnode
node * addnode(node *np, const std::string &name, TObject *td, node::TYPE t)
add a submode with a specific name, or return the existing node if one already exists
Definition: addnode.cxx:25
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PlotPulseshapeFromCool.np
np
Definition: PlotPulseshapeFromCool.py:64
subnode
node * subnode(node *np, const std::string &name)
check whether a subnode with this name already exists
Definition: addnode.cxx:17
spacer
const std::string spacer
Definition: spacer.h:24
lumiFormat.i
int i
Definition: lumiFormat.py:85
spacer.h
PyPoolBrowser.node
node
Definition: PyPoolBrowser.py:131
node::name
void name(const std::string &n)
Definition: node.h:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
node::TYPE
TYPE
Definition: node.h:25
node
Definition: memory_hooks-stdcmalloc.h:74