/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RawDataCnv/RawDataCnv-00-04-35/RawDataCnv/EventManagement/RAWEVENT.h

Go to the documentation of this file.
00001 #ifndef _RAWEVENT_h_
00002 #define _RAWEVENT_h_
00003  
00004 #include <stdint.h>
00005 #include <vector>
00006 #include "RawDataCnv/Util/BufferHolder.h"
00007 
00008 class RAWEVENT 
00009 {
00010 public:
00011    class RawEventHeader
00012    {
00013       public:
00014          RawEventHeader() {};
00015          ~RawEventHeader() {};
00016          void setRunNo(uint32_t runno) { m_run_number = runno; }
00017          void setEventNo(uint32_t eventno) { m_event_number = eventno; }
00018          void setTime(uint32_t time) { m_time = time; }
00019          void setFlag1(uint32_t flag1) { m_flag1 = flag1; }
00020          void setFlag2(uint32_t flag2) { m_flag2 = flag2; }
00021 
00022          uint32_t run_number() const { return m_run_number; }
00023          uint32_t event_number() const { return m_event_number; }
00024          uint32_t time() const { return m_time; }
00025          uint32_t event_type() const { return m_event_type; }
00026          uint32_t flag1() const { return m_flag1; }
00027          uint32_t flag2() const { return m_flag2; }
00028 
00029       private:
00030          uint32_t m_run_number;
00031          uint32_t m_event_number;
00032          uint32_t m_time;
00033          uint32_t m_event_type;
00034 
00035          uint32_t m_flag1;
00036          uint32_t m_flag2;
00037    };
00038 
00039   RAWEVENT();
00040   virtual ~RAWEVENT() {}
00041 
00042   typedef std::vector<uint32_t> int_vector;
00043 
00044   //modifier
00045   void reset();
00046   void setRunNo(uint32_t run_no) { m_eventHeader.setRunNo(run_no); }
00047   void setEventNo(uint32_t event_no) { m_eventHeader.setEventNo(event_no); }
00048   void setTime(uint32_t time) { m_eventHeader.setTime(time); }
00049   void setFlag1(uint32_t flag1) { m_eventHeader.setFlag1(flag1); }
00050   void setFlag2(uint32_t flag2) { m_eventHeader.setFlag2(flag2); }
00051 
00052   // add digi
00053   void addReMdcDigi(uint32_t* digi, uint32_t size) {
00054     m_bufMdcDigi.addBuffer(digi, size);
00055   }
00056   void addReEmcDigi(uint32_t* digi, uint32_t size) {
00057     m_bufEmcDigi.addBuffer(digi, size);
00058   }
00059   void addReTofDigi(uint32_t* digi, uint32_t size) {
00060     m_bufTofDigi.addBuffer(digi, size);
00061   }
00062   void addReMucDigi(uint32_t* digi, uint32_t size) {
00063     m_bufMucDigi.addBuffer(digi, size);
00064   }
00065   void addReTrigGTD(uint32_t* digi, uint32_t size) {
00066     m_bufTrigGTD.addBuffer(digi, size);
00067   }
00068   void addReZddDigi(uint32_t* digi, uint32_t size) {
00069     m_bufZddDigi.addBuffer(digi, size);
00070   }
00071   void addReHltRaw(uint32_t* digi, uint32_t size) {
00072     m_bufHltRaw.addBuffer(digi, size);
00073   }
00074   void addReEtfDigi(uint32_t* digi, uint32_t size) {
00075       m_bufEtfDigi.addBuffer(digi, size);
00076   }
00077 
00078   // add MC data
00079   void addMcParticle(uint32_t* buf, uint32_t size) {
00080     m_bufMcPar.addBuffer(buf, size);
00081   }
00082 
00083   // should be replaced in future
00084   void setReMdcTruth(int_vector& ReMdcTruth) { m_ReMdcTruth = ReMdcTruth; }
00085   void setReEmcTruth(int_vector& ReEmcTruth) { m_ReEmcTruth = ReEmcTruth; }
00086   void setReTofTruth(int_vector& ReTofTruth) { m_ReTofTruth = ReTofTruth; }
00087   void setReMucTruth(int_vector& ReMucTruth) { m_ReMucTruth = ReMucTruth; }
00088 
00089   //visitor
00090   const RawEventHeader&  eventHeader() const { return m_eventHeader; }
00091 
00092   const BufferHolder& getMdcBuf() const { return m_bufMdcDigi; }
00093   const BufferHolder& getTofBuf() const { return m_bufTofDigi; }
00094   const BufferHolder& getEmcBuf() const { return m_bufEmcDigi; }
00095   const BufferHolder& getMucBuf() const { return m_bufMucDigi; }
00096   const BufferHolder& getGTDBuf() const { return m_bufTrigGTD; }
00097   const BufferHolder& getZddBuf() const { return m_bufZddDigi; }
00098   const BufferHolder& getHltBuf() const { return m_bufHltRaw; }
00099   const BufferHolder& getEtfBuf() const { return m_bufEtfDigi; }
00100 
00101   const BufferHolder& getMcParBuf() const { return m_bufMcPar; }
00102 
00103   // should be replaced in future
00104   const int_vector& getMdcTruth() const { return m_ReMdcTruth; }
00105   const int_vector& getEmcTruth() const { return m_ReEmcTruth; }
00106   const int_vector& getTofTruth() const { return m_ReTofTruth; }
00107   const int_vector& getMucTruth() const { return m_ReMucTruth; }
00108 
00109 private:
00110   RawEventHeader   m_eventHeader; 
00111 
00112   // real data
00113   BufferHolder m_bufMdcDigi;
00114   BufferHolder m_bufTofDigi;
00115   BufferHolder m_bufEmcDigi;
00116   BufferHolder m_bufMucDigi;
00117   BufferHolder m_bufTrigGTD;
00118   BufferHolder m_bufZddDigi;
00119   BufferHolder m_bufHltRaw;
00120   BufferHolder m_bufEtfDigi;
00121 
00122   // mc data
00123   BufferHolder m_bufMcPar;
00124 
00125   // should be replaced in future
00126   int_vector    m_ReMdcTruth;
00127   int_vector    m_ReEmcTruth;
00128   int_vector    m_ReTofTruth;
00129   int_vector    m_ReMucTruth;
00130 };
00131 
00132 #endif // _RAWEVENT_h_

Generated on Tue Nov 29 22:58:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7