BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawDataCnvBase/RawDataCnvBase-01-00-03/RawDataCnvBase/RawDataBaseCnv.h
Go to the documentation of this file.
1#ifndef _RawDataBaseCnv_H
2#define _RawDataBaseCnv_H 1
3
4#include <vector>
5#include <string>
6#include "GaudiKernel/Converter.h"
7#include "GaudiKernel/CnvFactory.h"
8#include "RawDataCnvBase/IRawDataCnvSvc.h"
9
10#include "EventModel/EventModel.h"
11extern const CLID& CLID_EmcDigiCol;
12
13#ifndef _RawDataBaseCnv_StorageType
14#define _RawDataBaseCnv_StorageType 1
15 static long Test_StorageType = 0x09;
16#endif
17
18/** class RawDataBaseCnv
19* brief Base class for all GLAST EBF Converters.
20*
21* Based on GLAST's EbfBaseCnv
22*
23*/
24
25class RawDataBaseCnv : public Converter {
26protected:
27 /// Pointer to event conversion service interface
29 /// Leaf objects giving the locations of the objects in the data store
30 std::vector<IRawDataCnvSvc::Leaf> m_leaves;
31
32
33public:
34 RawDataBaseCnv(ISvcLocator* svc);
35 RawDataBaseCnv(unsigned char storageType, const CLID& clid, ISvcLocator* svc);
36
37 virtual ~RawDataBaseCnv() { };
38
39 virtual long repSvcType() const { return Test_StorageType; }
40
41 static const long storageType() { return Test_StorageType; }
42
43 static const CLID& classID() {return CLID_EmcDigiCol;};
44
45
46 StatusCode initialize();
47
48 virtual StatusCode finalize();
49
50 //virtual StatusCode addConverters () {return StatusCode::FAILURE;};
51
52 /// Store TDS path to link a particular converter to an object on the TDS
53 void declareObject(const std::string& fullPath, const CLID& clid, const std::string& bank, long par=0);
54
55 /// Convert the transient object to the requested representation.
56 virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
57
58 /// Resolve the references of the converted object.
59 virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress,DataObject* pObject);
60
61 /// Update the converted representation of a transient object.
62 virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject);
63
64 /// Update the references of an already converted object.
65 virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
66
67};
68
69#endif // _RawDataBaseCnv_H
70
const CLID & CLID_EmcDigiCol
Definition: EventModel.cxx:238
const CLID & CLID_EmcDigiCol
Definition: EventModel.cxx:238
virtual StatusCode finalize()
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Convert the transient object to the requested representation.
virtual StatusCode updateRep(IOpaqueAddress *pAddress, DataObject *pObject)
Update the converted representation of a transient object.
virtual StatusCode updateRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Update the references of an already converted object.
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Resolve the references of the converted object.
std::vector< IRawDataCnvSvc::Leaf > m_leaves
Leaf objects giving the locations of the objects in the data store.
StatusCode initialize()
IRawDataCnvSvc * m_CnvSvc
Pointer to event conversion service interface.
void declareObject(const std::string &fullPath, const CLID &clid, const std::string &bank, long par=0)
Store TDS path to link a particular converter to an object on the TDS.