QBaseEventR.hh
00001 #ifndef _Q_BASEEVENT_R_HH_
00002 #define _Q_BASEEVENT_R_HH_
00003
00004 #include <TObject.h>
00005 #include "Rtypes.h"
00006 #include "QEventDataR.hh"
00007 #include <map>
00008 #include <list>
00009
00010
00011 namespace Cuore {class QEvent;}
00012 class QBaseRawEventR;
00013
00014 class QBaseEventR : public TObject
00015 {
00016 public:
00017 virtual QBaseRawEventR* GetBaseRawEvent() = 0;
00018
00019 virtual ~QBaseEventR();
00020
00021 std::map<std::string,std::string> GetAliases() { return fAliases_01; }
00022
00027 void Assign(const Cuore::QEvent& ev);
00028
00029 protected:
00030 QBaseEventR();
00031
00032 void Initialize() { if(!fIsInitialized) { Init(); SetAliases(); fIsInitialized = true;} }
00033
00034 virtual void Init() {}
00039 virtual void Fill(Cuore::QEvent& ev) const;
00040
00042 std::list<QEventDataR*> fEventData;
00044 std::list<QEventDataR*> fEventData_01;
00045
00046 private:
00047 void SetAliases();
00049 std::map<std::string,std::string> fAliases;
00051 std::map<std::string,std::string> fAliases_01;
00052
00053 Bool_t fIsInitialized;
00054
00055 friend class MRootFileReader;
00056 friend class MLightRootFileReader;
00057 friend class MLiveTime;
00058
00059 ClassDef(QBaseEventR,2);
00060
00061 };
00062
00063 #endif