Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef GAUDIROOTCNV_ROOTREFS_H
00010 #define GAUDIROOTCNV_ROOTREFS_H
00011
00012
00013 #include "GaudiKernel/Kernel.h"
00014
00015
00016 #include <string>
00017 #include <vector>
00018
00019
00020
00021
00022 namespace Gaudi {
00023
00031 struct RootRef {
00033 int dbase,container,link,clid,svc,entry;
00035 RootRef() { this->reset(); }
00037 RootRef(const RootRef& c)
00038 : dbase(c.dbase),container(c.container),link(c.link),clid(c.clid),svc(c.svc),entry(c.entry)
00039 {
00040 }
00042 RootRef& operator=(const RootRef& c) {
00043 dbase = c.dbase;
00044 container = c.container;
00045 link = c.link;
00046 clid = c.clid;
00047 svc = c.svc;
00048 entry = c.entry;
00049 return *this;
00050 }
00052 void reset() {
00053 dbase = -1;
00054 container = -1;
00055 link = -1;
00056 entry = -1;
00057 svc = 1;
00058 clid = 1;
00059 }
00060 };
00061
00070 struct RootObjectRefs {
00072 std::vector<int> links;
00074 std::vector<RootRef> refs;
00075
00077 RootObjectRefs() {}
00079 RootObjectRefs(const RootObjectRefs& r) : links(r.links), refs(r.refs) {}
00081 ~RootObjectRefs() {}
00083 RootObjectRefs& operator=(const RootObjectRefs& r) {
00084 links = r.links;
00085 refs = r.refs;
00086 return *this;
00087 }
00088 };
00089
00097 struct RootNTupleDescriptor {
00099 std::string description;
00101 std::string optional;
00103 std::string container;
00105 unsigned long clid;
00107 RootNTupleDescriptor() {}
00109 virtual ~RootNTupleDescriptor() {}
00110 };
00111 }
00112
00113 #endif // GAUDIROOTCNV_ROOTREFS_H
00114