| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 2012

# RootRefs.h

Go to the documentation of this file.

    00001 // $Id: RootRefs.h,v 1.4 2010-08-24 23:30:32 frankb Exp $
    00002 //====================================================================
    00003 // Dictionary classes for internal classes used to write ROOT files.
    00004 //--------------------------------------------------------------------
    00005 //
    00006 //  Author     : M.Frank
    00007 //
    00008 //====================================================================
    00009 #ifndef GAUDIROOTCNV_ROOTREFS_H
    00010 #define GAUDIROOTCNV_ROOTREFS_H
    00011
    00012 // Framework include files
    00013 #include "GaudiKernel/Kernel.h"
    00014
    00015 // C++ include files
    00016 #include <string>
    00017 #include <vector>
    00018
    00019 /*
    00020  *   Gaudi namespace declaration
    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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines