00001 #ifndef TSTSPROC_H 00002 #define TSTSPROC_H 00003 00004 #include "TRocProc.h" 00005 #include "TSTSEvent.h" 00006 #include "TBeamMonitorEvent.h" 00007 #include "TFiberHodEvent.h" 00008 #include "TSTSParam.h" 00009 #include "TGo4Picture.h" 00010 #include "TH1.h" 00011 #include "TH2.h" 00012 #include "TGo4WinCond.h" 00013 #include "TCBMBeamtimeProc.h" 00014 #include "TSTSTopology.h" 00015 #include "TSTSClusterizer.h" 00016 #include "TSTSHiterizer.h" 00017 #include "TSTSGeometry.h" 00018 00019 class TSTSProc : public TCBMBeamtimeProc { 00020 friend class TCBMBeamtimeProc; // may call protected process methods 00021 00022 protected: 00023 std::vector< std::vector< TH1 * > > fSTSDigiPos; 00024 std::vector< std::vector< TH1 * > > fSTSDigiAmp; 00025 std::vector< std::vector< TH1 * > > fSTSDigiTime; 00026 std::vector< std::vector< TH2 * > > fSTSDigiAmpVsPos; 00027 std::vector< std::vector< TH1 * > > fSTSClustPos; 00028 std::vector< std::vector< TH1 * > > fSTSClustAmp; 00029 std::vector< std::vector< TH2 * > > fSTSClustAmpVsPos; 00030 std::vector< std::vector< TH2 * > > fSTSClustAmpVsTime; 00031 std::vector< TH2 * > fSTSHitXY; 00032 std::vector< TH2 * > fSTSHitXYBinned; 00033 00034 std::vector< std::vector < TSTSClusterizer * > > fClusterizers; 00035 std::vector< TSTSHiterizer * > fHiterizers; 00036 00037 TSTSParam * fSTSPar; 00038 TRocParam * fRocPar; 00039 00040 TSTSGeometry fSTSGeometry; 00041 00043 TRocEvent * fRocInputEvent; 00044 TSTSEvent * fOutputEvent; 00045 TBeamMonitorEvent* fBeamEvent; 00046 TFiberHodEvent* fFiberHodEvent1; 00047 TFiberHodEvent* fFiberHodEvent2; 00048 00049 void ExecSetStsParamMacro(); 00050 void CreateHistograms(); 00051 void CreateClusterizers(); 00052 void CreateHiterizers(); 00053 TRocParam * GetRocPar(); 00054 00055 public: 00056 TSTSProc(const char* name = 0); 00057 virtual ~TSTSProc(); 00058 virtual void InitEvent(TGo4EventElement*); 00059 virtual void FinalizeEvent(); 00060 ClassDef(TSTSProc,1) 00061 }; 00062 00063 #endif //TUNPACKPROCESSOR_H 00064