00001 00002 00003 #ifndef SCEVENT_H 00004 #define SCEVENT_H 1 00005 00006 00007 #include "TClonesArray.h" 00008 #include "TObject.h" 00009 00010 namespace nxyter { 00011 class Data; 00012 } 00013 00014 00024 class ScEvent : public TObject 00025 { 00026 00027 00028 public: 00029 00031 ScEvent(); 00032 00033 00035 virtual ~ScEvent() { Clear(); } 00036 00037 00039 Int_t GetEpoch() const { return fEpoch; } 00040 Double_t GetTime() const { return fTmean; } 00041 Double_t GetStartTime() const { return fTstart; } 00042 Double_t GetStopTime() const { return fTstop; } 00043 Double_t GetTimeRms() const { return fTvar; } 00044 Int_t GetNDigis() const { return fNDigis; } 00045 Int_t GetNAux() const { return fNAux; } 00046 00047 00049 void AddData(nxyter::Data* digi, Long64_t hitTime, Int_t epoch); 00050 00051 00053 void Clear(); 00054 00055 00057 Bool_t IsEmpty() { return ! (fNDigis + fNAux); } 00058 00059 00060 00061 00062 00064 virtual void Print(Option_t* opt = "") const; 00065 00066 00067 00068 private: 00069 00070 Int_t fEpoch; 00071 Double_t fTstart; 00072 Double_t fTstop; 00073 Double_t fTmean; 00074 Double_t fTvar; 00075 Int_t fNDigis; 00076 Int_t fNAux; 00078 TClonesArray fDigis; 00079 TClonesArray fAux; 00081 Double_t fTsum; 00082 Double_t fT2sum; 00087 ClassDef(ScEvent,1); 00088 00089 00090 }; 00091 00092 00093 #endif