00001 #ifndef EvtHeaderCnv_H 00002 #define EvtHeaderCnv_H 1 00003 00004 #include "RootCnvSvc/RootEventBaseCnv.h" 00005 00006 #include "RootEventData/TEvtHeader.h" 00007 #include "RootCnvSvc/commonData.h" 00008 00009 //extern const CLID& CLID_Event; 00010 extern const CLID& CLID_EventHeader; 00011 00012 // Abstract factory to create the converter 00013 template <class TYPE> class CnvFactory; 00014 00021 class EvtHeaderCnv : public RootEventBaseCnv { 00022 00023 friend class CnvFactory<EvtHeaderCnv>; 00024 00025 public: 00026 static const CLID& classID() 00027 { 00028 return CLID_EventHeader; 00029 } 00030 00031 virtual ~EvtHeaderCnv() { }; 00032 00033 00034 virtual StatusCode initialize(); 00035 00037 static TEvtHeader* getWriteObject() { return m_objWrite;} 00038 00039 protected: 00040 EvtHeaderCnv(ISvcLocator* svc); 00041 00043 virtual StatusCode DataObjectToTObject(DataObject* obj, RootAddress* addr); 00044 00046 virtual StatusCode TObjectToDataObject(DataObject*& refpObject); 00047 00048 private: 00050 static TEvtHeader* m_objWrite; 00051 00053 Int_t m_runId; 00055 Int_t m_eventId; 00056 00057 UInt_t m_time; 00058 00060 UInt_t m_eventTag; 00061 00063 UInt_t m_flag1; 00064 UInt_t m_flag2; 00065 00066 // Int_t* m_data; 00067 Int_t m_data[10]; 00068 00069 commonData m_common; 00070 }; 00071 00072 #endif // EvtHeaderCnv_H