| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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:
58 SmartIF<INTupleSvc> m_ntupleSvc;
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>
68 INTupleItem* createNTupleItem(std::string itemName, std::string blockName,
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