00001 00007 #ifndef _QEVENT_HH 00008 #define _QEVENT_HH 00009 00010 #include "QCuore.hh" 00011 #include "QEventData.hh" 00012 #include "QEventAuxData.hh" 00013 #include <list> 00014 00015 class QReader; 00016 class QSequence; 00017 00018 Q_BEGIN_NAMESPACE 00019 00020 class QRawEvent; 00021 class QFFTData; 00022 class QEventAuxData; 00023 class QOFData; 00024 class QWienerData; 00025 class QPreProcessData; 00026 class QStabData; 00027 class QOBData; 00028 class QCountPulsesData; 00029 class QFiltersData; 00030 class QDefaultsData; 00031 class QPulseFitData; 00032 class QCalibData; 00033 /* DO NOT REMOVE THIS LINE - PERLSCRIPT - QEVENTDATA */ 00034 00035 00036 class QEvent { 00037 public: 00038 00039 ~QEvent(); 00042 QRawEvent& GetRawEvent() {return *fRawEvent;} 00043 const QRawEvent& GetRawEvent() const {return *fRawEvent;} 00048 QFFTData& GetFFT(){return *fFFt;} 00049 const QFFTData& GetFFT() const {return *fFFt;} 00054 QOFData& GetOF(){return *fOF;} 00055 const QOFData& GetOF() const {return *fOF;} 00060 QWienerData& GetWiener(){return *fWiener;} 00061 const QWienerData& GetWiener() const {return *fWiener;} 00067 QPreProcessData& GetPreProcess() {return *fPreProcess;} 00068 const QPreProcessData& GetPreProcess() const {return *fPreProcess;} 00073 QStabData& GetStab() {return *fStab;} 00074 const QStabData& GetStab() const {return *fStab;} 00079 QOBData& GetOB() {return *fOB;} 00080 const QOBData& GetOB() const {return *fOB;} 00085 QCountPulsesData& GetCountPulses() {return *fCountPulses;} 00086 const QCountPulsesData& GetCountPulses() const {return *fCountPulses;} 00091 QFiltersData& GetFilters() {return *fFilters;} 00092 const QFiltersData& GetFilters() const {return *fFilters;} 00097 QDefaultsData& GetDefaults() {return *fDefaults;} 00098 const QDefaultsData& GetDefaults() const {return *fDefaults;} 00103 QPulseFitData& GetPulseFit() {return *fPulseFit;} 00104 const QPulseFitData& GetPulseFit() const {return *fPulseFit;} 00109 QCalibData& GetCalib() {return *fCalib;} 00110 const QCalibData& GetCalib() const {return *fCalib;} 00112 /* DO NOT REMOVE THIS LINE - PERLSCRIPT - QEVENTDATAGET */ 00113 00122 QEventAuxData& AuxData() {return fAuxData;} 00123 const QEventAuxData& AuxData() const {return fAuxData;} 00131 const unsigned int& GetReadNumber() const {return fReadNumber;} 00132 private: 00134 QEvent(); 00135 00137 QRawEvent* fRawEvent; 00138 00140 QFFTData* fFFt; 00141 00143 QOFData* fOF; 00144 00146 QWienerData* fWiener; 00147 00149 QPreProcessData* fPreProcess; 00150 00152 QStabData* fStab; 00153 00155 QOBData* fOB; 00156 00158 QCountPulsesData* fCountPulses; 00159 00161 QFiltersData* fFilters; 00162 00164 QDefaultsData* fDefaults; 00165 00167 QPulseFitData* fPulseFit; 00168 00170 QCalibData* fCalib; 00171 00172 /* DO NOT REMOVE THIS LINE - PERLSCRIPT - QEVENTDATAMEMBER */ 00173 00175 QEventAuxData fAuxData; 00178 void InitDataList(); 00179 std::list<QEventData*> fEventData; 00180 std::list<QEventData*>::iterator fEventDataIter; 00183 unsigned int fReadNumber; 00185 void Clear(); 00186 00187 friend class ::QReader; 00188 friend class ::QSequence; 00189 }; 00190 00191 Q_END_NAMESPACE 00192 00193 #endif 00194