Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RNTupleCnv.h
Go to the documentation of this file.
1 #ifndef ROOTHISTCNV_RNTUPLECNV_H
2 #define ROOTHISTCNV_RNTUPLECNV_H 1
3 
4 // Include files
5 #include "RConverter.h"
6 
7 // Forward declarations
8 class ISvcLocator;
9 class NTUPLEINFO;
10 class INTupleItem;
11 class INTupleSvc;
12 class INTuple;
13 class TTree;
14 
15 namespace RootHistCnv {
16 
24  class RNTupleCnv : public RConverter {
25  public:
27  virtual StatusCode initialize();
29  virtual StatusCode finalize();
30 
32  virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& refpObj);
34  virtual StatusCode updateObj( IOpaqueAddress* pAddr, DataObject* refpObj);
36  virtual StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr);
38  virtual StatusCode updateRep( IOpaqueAddress* pAddr, DataObject* pObj);
39 
40  protected:
42  RNTupleCnv( ISvcLocator* svc, const CLID& clid );
43 
45  virtual ~RNTupleCnv();
46 
48  virtual StatusCode load(TTree* tree, INTuple*& refpObj ) = 0;
50  virtual StatusCode book(const std::string& desc, INTuple* pObj, TTree*& tree) = 0;
52  virtual StatusCode writeData(TTree* rtree, INTuple* pObj) = 0;
54  virtual StatusCode readData(TTree* rtree, INTuple* pObj, long ievt) = 0;
55 
56  protected:
59 
60  virtual std::string rootVarType(int);
61  };
62 
64  template<class TYP>
65  INTupleItem* createNTupleItem(NTUPLEINFO& tags, long i, INTuple* tuple, TYP minimum, TYP maximum, long& size);
66 
67  template<class TYP>
69  std::string indexName,
70  int indexRange, int arraySize,
71  TYP minimum, TYP maximum,
72  INTuple* tuple);
73 
74  bool parseName(std::string full, std::string &blk, std::string &var);
75 
76 } // namespace RootHistCnv
77 
78 #endif // RootHistCnv_RNTupleCnv_H

Generated at Wed Dec 4 2013 14:33:12 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004