BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootCnvSvc/include/RootCnvSvc/Mc/McCnv.h
Go to the documentation of this file.
1#ifndef McCnv_H
2#define McCnv_H 1
3
4#include "RootCnvSvc/RootEventBaseCnv.h"
5
6#include "RootCnvSvc/commonData.h" //zoujh
7#include "RootEventData/TMcEvent.h"
8
9extern const CLID& CLID_McEvent;
10
11// Abstract factory to create the converter
12template <class TYPE> class CnvFactory;
13
14/** @class McCnv
15 * @brief Concrete converter for the Mc branch
16 *
17 * Based on the McCnv of GLAST.
18 */
19
20class McCnv : public RootEventBaseCnv {
21
22 friend class CnvFactory<McCnv>;
23
24public:
25 static const CLID& classID() { return CLID_McEvent; }
26
27 virtual ~McCnv(){};
28
29 virtual StatusCode initialize();
30
31 /// returns object to be written (maintained here for all DIGI-converters)
32 static TMcEvent* getWriteObject() { return m_objWrite; }
33
34 McCnv( ISvcLocator* svc );
35
36 /// transformation from TDS object to ROOT
37 virtual StatusCode DataObjectToTObject( DataObject* obj, RootAddress* addr );
38
39 /// do the transformation from ROOT to TDS object
40 virtual StatusCode TObjectToDataObject( DataObject*& refpObject );
41
42private:
43 /// Root object to be written
44 static TMcEvent* m_objWrite;
45
46 /// Run number
47 Int_t m_runId;
48 /// Event Number
49 Int_t m_eventId;
50
51 commonData m_common;
52};
53
54#endif // McCnv_H
const CLID & CLID_McEvent
McCnv(ISvcLocator *svc)
Definition McCnv.cxx:27
virtual StatusCode TObjectToDataObject(DataObject *&refpObject)
do the transformation from ROOT to TDS object
Definition McCnv.cxx:46
static TMcEvent * getWriteObject()
returns object to be written (maintained here for all DIGI-converters)
virtual StatusCode DataObjectToTObject(DataObject *obj, RootAddress *addr)
transformation from TDS object to ROOT
Definition McCnv.cxx:66
virtual StatusCode initialize()
Definition McCnv.cxx:34
Definition of a Root address, derived from IOpaqueAddress.
RootEventBaseCnv(const CLID &clid, ISvcLocator *svc)