00001 #ifndef TSPADICPROC_H 00002 #define TSPADICPROC_H 00003 00004 #include "TSpadicEvent.h" 00005 #include "TSpadicParam.h" 00006 00007 #include "TGo4Picture.h" 00008 #include "TH1.h" 00009 #include "TH2.h" 00010 #include "TGo4WinCond.h" 00011 #include "TCBMBeamtimeProc.h" 00012 00013 class TGo4EventElement; 00014 class TGo4MbsSubEvent; 00015 00016 class TSpadicProc : public TCBMBeamtimeProc { 00017 public: 00018 00019 TSpadicProc(const char* name = 0); 00020 virtual ~TSpadicProc(); 00021 00022 virtual void InitEvent(TGo4EventElement * evt); 00023 00024 virtual void ProcessSubevent(TGo4MbsSubEvent* subevt); 00025 00026 protected: 00027 00028 virtual void ProcessSpadic(TGo4MbsSubEvent* subevt, Bool_t offSpill); 00029 00030 00031 TSpadicParam * fPar; 00032 TSpadicEvent * fOutputEvent; 00033 00034 /* objects for simple SPADIC online*/ 00035 00036 00037 00038 // // // Input Histos 00039 TH2 *fSpadic_trace2D[MAX_SPADIC]; 00040 TH1 *fSpadic_trace[MAX_SPADIC][NUM_SPADIC_CHA]; 00041 TH1 *fSpadic_trace_clean[MAX_SPADIC][NUM_SPADIC_CHA]; 00042 00043 // // // Raw Signal Analysis 00044 TH1 *fSpadic_NbOfOverflow[MAX_SPADIC]; 00045 TH1 *fSpadic_NbOfChOverThreshold[MAX_SPADIC]; 00046 TH1 *fSpadic_ADCdist[MAX_SPADIC][NUM_SPADIC_CHA]; 00047 TH1 *fSpadic_NoiseDist[MAX_SPADIC]; 00048 TH2 *fSpadic_NoiseDist2D[MAX_SPADIC]; 00049 TH1 *fSpadic_PedelPos[MAX_SPADIC]; 00050 TH2 *fSpadic_PedelPos2D[MAX_SPADIC]; 00051 // // // PRF 00052 TH2 *fSpadic_PRF[MAX_SPADIC]; 00053 00054 00055 TH1 *fSpadic_ClusterWidth[MAX_SPADIC]; 00056 TH1 *fSpadic_PadMaxDist[MAX_SPADIC]; 00057 00058 TH1 *fSpadic_peak[MAX_SPADIC]; 00059 TH1 *fSpadic_meanpos[MAX_SPADIC]; 00060 00061 TH2 *fSpadic_shape2Draw[MAX_SPADIC]; 00062 TH2 *fSpadic_shape2D[MAX_SPADIC]; 00063 TH1 *fSpadic_shape[MAX_SPADIC]; 00064 TH1 *fSpadic_shapecnt[MAX_SPADIC]; 00065 00066 TH1 *fSpadic_spectrum[MAX_SPADIC]; 00067 00068 Bool_t fDoStopAnalysis; 00069 00070 TGo4Picture *pSpadic_traces[MAX_SPADIC]; 00071 00072 ClassDef(TSpadicProc,1) 00073 }; 00074 00075 #endif 00076 00077