BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootCnvSvc/RootCnvSvc-02-01-13/RootCnvSvc/EvtNavigatorCnv.h
Go to the documentation of this file.
1#ifndef EvtNavigatorCnv_H
2#define EvtNavigatorCnv_H 1
3
4#include <iostream>
5#include <map>
6#include "RootCnvSvc/RootEventBaseCnv.h"
7
8#include "RootEventData/TEvtNavigator.h"
9#include "RootCnvSvc/commonData.h"
10
11//extern const CLID& CLID_Event;
12extern const CLID CLID_EventNavigator;
13
14// Abstract factory to create the converter
15template <class TYPE> class CnvFactory;
16
17/** @class EvtNavigatorCnv
18 * @brief Concrete converter for the EvtNavigator branch
19 */
20
22
23 friend class CnvFactory<EvtNavigatorCnv>;
24
25public:
26 static const CLID& classID()
27 {
29 }
30
31 virtual ~EvtNavigatorCnv() { };
32
33
34 virtual StatusCode initialize();
35
36 /// returns object to be written (maintained here for all DIGI-converters)
37 static TEvtNavigator* getWriteObject() { return m_evtNavigatorW;}
38
39 protected:
40 EvtNavigatorCnv(ISvcLocator* svc);
41
42 /// transformation from TDS object to ROOT
43 virtual StatusCode DataObjectToTObject(DataObject* obj, RootAddress* addr);
44
45 /// do the transformation from ROOT to TDS object
46 virtual StatusCode TObjectToDataObject(DataObject*& refpObject);
47
48private:
49 /// Root objects` to be read/written
50 static TEvtNavigator* m_evtNavigatorR;
51 static TEvtNavigator* m_evtNavigatorW;
52
53 std::multimap<int, int> m_mcMdcMcHits;
54 std::multimap<int, int> m_mcMdcTracks;
55 std::multimap<int, int> m_mcEmcMcHits;
56 std::multimap<int, int> m_mcEmcRecShowers;
57
58 commonData m_common;
59};
60
61#endif // EvtNavigatorCnv_H
const CLID CLID_EventNavigator
const CLID CLID_EventNavigator
Concrete converter for the EvtNavigator branch.
static TEvtNavigator * getWriteObject()
returns object to be written (maintained here for all DIGI-converters)
virtual StatusCode TObjectToDataObject(DataObject *&refpObject)
do the transformation from ROOT to TDS object
virtual StatusCode DataObjectToTObject(DataObject *obj, RootAddress *addr)
transformation from TDS object to ROOT
virtual StatusCode initialize()
Definition of a Root address, derived from IOpaqueAddress.