RootRefs.h
Go to the documentation of this file.
1 //====================================================================
2 // Dictionary classes for internal classes used to write ROOT files.
3 //--------------------------------------------------------------------
4 //
5 // Author : M.Frank
6 //
7 //====================================================================
8 #ifndef GAUDIROOTCNV_ROOTREFS_H
9 #define GAUDIROOTCNV_ROOTREFS_H
10 
11 // Framework include files
12 #include "GaudiKernel/Kernel.h"
13 
14 // C++ include files
15 #include <string>
16 #include <vector>
17 
18 /*
19  * Gaudi namespace declaration
20  */
21 namespace Gaudi {
22 
30  struct RootRef {
34  RootRef() { this->reset(); }
36  RootRef(const RootRef& c)
37  : dbase(c.dbase),container(c.container),link(c.link),clid(c.clid),svc(c.svc),entry(c.entry)
38  {
39  }
42  if ( this != &c ) {
43  dbase = c.dbase;
44  container = c.container;
45  link = c.link;
46  clid = c.clid;
47  svc = c.svc;
48  entry = c.entry;
49  }
50  return *this;
51  }
53  void reset() {
54  dbase = -1;
55  container = -1;
56  link = -1;
57  entry = -1;
58  svc = 1;
59  clid = 1;
60  }
61  };
62 
71  struct RootObjectRefs {
73  std::vector<int> links;
75  std::vector<RootRef> refs;
76 
80  RootObjectRefs(const RootObjectRefs& r) : links(r.links), refs(r.refs) {}
85  links = r.links;
86  refs = r.refs;
87  return *this;
88  }
89  };
90 
100  std::string description;
102  std::string optional;
104  std::string container;
106  unsigned long clid;
111  };
112 }
113 
114 #endif // GAUDIROOTCNV_ROOTREFS_H
115 
tuple c
Definition: gaudirun.py:392
RootRef(const RootRef &c)
Copy constructor.
Definition: RootRefs.h:36
RootObjectRefs()
Default constructor.
Definition: RootRefs.h:78
std::vector< int > links
The links of the link manager.
Definition: RootRefs.h:73
Persistent reference object containing all leafs and links corresponding to a Gaudi DataObject...
Definition: RootRefs.h:71
RootObjectRefs(const RootObjectRefs &r)
Copy constructor.
Definition: RootRefs.h:80
int dbase
Data members to define object location in the persistent world.
Definition: RootRefs.h:32
Persistent reference object.
Definition: RootRefs.h:30
std::string optional
Optional description.
Definition: RootRefs.h:102
std::string description
Description string.
Definition: RootRefs.h:100
void reset()
Reset data content.
Definition: RootRefs.h:53
RootObjectRefs & operator=(const RootObjectRefs &r)
Assignment operator.
Definition: RootRefs.h:84
std::string container
Identifier of description.
Definition: RootRefs.h:104
RootNTupleDescriptor()
Standard constructor.
Definition: RootRefs.h:108
unsigned long clid
Class ID of the described object.
Definition: RootRefs.h:106
RootRef & operator=(const RootRef &c)
Assignment operator.
Definition: RootRefs.h:41
std::vector< RootRef > refs
The references corresponding to the next layer of items in the data store.
Definition: RootRefs.h:75
RootRef()
Standard constructor.
Definition: RootRefs.h:34
Helper functions to set/get the application return code.
Definition: __init__.py:1
~RootObjectRefs()
Default destructor.
Definition: RootRefs.h:82
virtual ~RootNTupleDescriptor()
Standard destructor.
Definition: RootRefs.h:110