00001 // $Id: RRWNTupleCnv.h,v 1.6 2006/11/30 15:04:07 mato Exp $ 00002 #ifndef ROOTHISTCNV_RRWNTUPLECNV_H 00003 #define ROOTHISTCNV_RRWNTUPLECNV_H 1 00004 00005 // Include files 00006 #include "RNTupleCnv.h" 00007 00008 // Forward declarations 00009 class TTree; 00010 template <class TYPE> class CnvFactory; 00011 00012 namespace RootHistCnv { 00019 class RRWNTupleCnv : public RNTupleCnv { 00020 00022 friend class CnvFactory<RRWNTupleCnv>; 00023 00024 public: 00026 static const CLID& classID() { 00027 return CLID_RowWiseTuple; 00028 } 00029 00031 RRWNTupleCnv( ISvcLocator* svc ) : RNTupleCnv(svc, classID()) { 00032 } 00034 virtual ~RRWNTupleCnv() { 00035 } 00036 protected: 00038 virtual StatusCode load(TTree* tree, INTuple*& refpObject); 00039 00041 virtual StatusCode book(const std::string& desc, INTuple* pObject, TTree*& tree); 00043 virtual StatusCode writeData(TTree* rtree, INTuple* pObject); 00045 virtual StatusCode readData(TTree* rtree, INTuple* pObject, long ievt); 00046 }; 00047 } // namespace RootHistCnv 00048 00049 #endif // RootHistCnv_RRWNTUPLECNV_H