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

Generated on Tue Nov 16 10:49:59 2010 for CUORE Software by  doxygen 1.5.6