00001 00007 #ifndef __Q_MULTIPLE_HH_ 00008 #define __Q_MULTIPLE_HH_ 00009 00010 00011 #include "QCuore.hh" 00012 #include <vector> 00013 #include "QEvent.hh" 00014 #include "QEventR.hh" 00015 #include "QRawEventR_01.hh" 00016 #include "QRawEvent.hh" 00017 #include <math.h> 00018 00019 Q_BEGIN_NAMESPACE 00020 00021 class QMultiple : public TObject { 00022 public: 00024 QMultiple(); 00026 virtual ~QMultiple(); 00027 00028 int GetMultiplicity() {return fEvents.size();} 00029 double GetTotalEnergy() {return fTotalEnergy;} 00030 00031 QEventR& GetEvent(unsigned int n); 00032 00033 QEventR& GetFirstEvent(); 00034 00035 QEventR& GetLastEvent(); 00036 00037 void AddEvent(QEvent* ev, unsigned long long CurrentTime); 00038 void SetMuon() {fMuon=1;} 00039 00040 void AccumulateTime(unsigned long long DeltaT); 00041 00042 int Consistancy(float CurrentTime, float Allowed); 00043 00044 int GetEventChannelID(unsigned int n); 00045 00046 00047 00048 void EliminateSize(); 00049 00050 void CheckFailures(); 00051 00052 std::vector<unsigned long long> fTimes; 00053 std::vector<unsigned long long> fChannels; 00054 std::vector<double> fEnergies; 00055 std::vector<unsigned long long> fRuns; 00056 QEventR evR2; 00057 int fMuon; 00058 int fFailure; 00059 int fTrigger; 00060 double fTotalEnergy; 00061 int fMultiplicity; 00062 unsigned long long fDeltaT; 00063 00064 private: 00065 std::vector<QEventR> fEvents; 00066 ClassDef(QMultiple, 1); 00067 }; 00068 00069 Q_END_NAMESPACE 00070 00071 #endif