BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
RootDedxCalibDataCnv.h
Go to the documentation of this file.
1// $Header:
2// /bes/bes/BossCvs/Calibration/CalibSvc/CalibROOTCnv/src/cnv/RootDedxCalibDataCnv.h,v 1.1.1.1
3// 2006/04/03 03:03:27 maqm Exp $
4#ifndef RootDedxCalibDataCnv_h
5#define RootDedxCalibDataCnv_h
6
7/** @class RootMdcdelt0Cnv
8
9 Base class for CAL calibration converters from ROOT files to TCDS.
10 All such converters need to do certain things, which are
11 handled here. Methods common to *all* calibrations are in the
12 base class RootCalBaseCnv
13
14 @author J. Bogart
15*/
16
17#include "RootCalBaseCnv.h"
18namespace CalibData {
19 class MdcCalConst;
20}
21template <class TYPE> class CnvFactory;
23
24 friend class CnvFactory<RootDedxCalibDataCnv>;
25
26public:
27 const CLID& objType() const;
28 static const CLID& classID();
29 RootDedxCalibDataCnv( ISvcLocator* svc );
30
32
33 virtual StatusCode createRoot( const std::string& fname, CalibData::CalibBase1* pTDSObj );
34
35 virtual long repSvcType() const { return CALIBROOT_StorageType; }
36
37 /**
38 Create the transient representation of an object, given an opaque
39 address. This and the following update method comprise the core
40 functionality of calibration converters.
41 */
42 // virtual StatusCode createObj(IOpaqueAddress* addr,
43 // DataObject*& refpObject);
44
45 // virtual StatusCode i_createObj (const DOM_Element& element,
46 // DataObject*& refpObject);
47
48 // virtual StatusCode i_processObj(DataObject* pObject,
49 //
50
51 /// Convenience routine used by most CAL calibration types, which
52 /// have a <dimension> element describing how the remainder of the
53 /// data is laid out. Read from TDS; store information internally
54 /// in protected members.
55 // StatusCode readDimension(CalibData::CalCalibBase* pCalBase);
56
57 // Might need another one reading from Root class into protected members
58 /*
59 Not sure yet what the analogous thing to findFirstRange, findNextRange
60 ought to be..likely don't need it at all since ROOT persistent form
61 comes fully labeled with CalXtalId
62 */
63
64protected:
65 /**
66 Given a pointer to a TDS object which can be cast to "our" type, fill
67 in corresponding information in the corresponding root class
68
69 @param pTDSObj Pointer to tds object to be converted
70 @param pRootObj Pointer to destination root object
71
72 */
73 // virtual StatusCode fillRoot(CalibData::Mdct0* pTDSObj,
74 // TObject* pRootObj);
75
76 /**
77 Read in object from specified branch. Don't need tree name; it's
78 always Calib
79 */
80 // virtual StatusCode readRootObj(const std::string& branch, TObject*& pCalib);
81
82 virtual StatusCode i_createObj( const std::string& fname, DataObject*& refpObject );
83};
84
85#endif
RootCalBaseCnv(ISvcLocator *svc, const CLID &clid)
virtual long repSvcType() const
const CLID & objType() const
static const CLID & classID()
virtual StatusCode createRoot(const std::string &fname, CalibData::CalibBase1 *pTDSObj)
virtual StatusCode i_createObj(const std::string &fname, DataObject *&refpObject)
RootDedxCalibDataCnv(ISvcLocator *svc)