00001 #ifndef TPLASTICSPROC_H 00002 #define TPLASTICSPROC_H 00003 00004 #include "TGsiAug12Analysis.h" 00005 #include "TCBMBeamtimeProc.h" 00006 00007 #include "MBSUNPACK/TMbsCrateEvent.h" 00008 #include "TTriglogEvent.h" 00009 #include "VFTX/TVftxEvent.h" 00010 #include "VFTX/TVftxParam.h" 00011 00012 #include "TPlasticsEvent.h" 00013 #include "TPlasticsParam.h" 00014 00015 #include "TGo4Picture.h" 00016 #include "TH1.h" 00017 #include "TH2.h" 00018 00019 class TGo4EventElement; 00020 class TGo4MbsSubEvent; 00021 00022 class TPlasticsProc : public TCBMBeamtimeProc { 00023 // friend class TCBMBeamtimeProc; 00024 public: 00025 TPlasticsProc(const char* name = 0); 00026 virtual ~TPlasticsProc(); 00027 00028 virtual void InitEvent(TGo4EventElement*); 00029 00030 virtual void FinalizeEvent(); 00031 private: 00032 void ProcessCaenPlasticSingle( UInt_t uPlasticIndex, Double_t dCaenOtherOffset = 0 ); 00033 void ProcessCaenPlasticDouble( UInt_t uPlasticIndex, Double_t dCaenOtherOffset = 0 ); 00034 void ProcessVftxPlasticSingle( UInt_t uPlasticIndex, Double_t dVftxOtherOffset = 0 ); 00035 void ProcessVftxPlasticDouble( UInt_t uPlasticIndex, Double_t dVftxOtherOffset = 0 ); 00036 00037 00038 protected: 00039 TPlasticsParam * fPar; 00040 TVftxParam * fVftxPar; 00041 TMbsCrateEvent * fCrateInputEvent; 00042 TTriglogEvent * fTriglogInputEvent; 00043 TVftxEvent * fVftxInputEvent; 00044 00045 TPlasticsEvent * fOutputEvent; 00046 00047 protected: 00048 Double_t dCaenBinSize; 00049 Plastics_Hit hitCurrent; 00050 00051 TH2 * fBeamProfilePlasticsTime; 00052 TH2 * fReference1ProfilePlastics; 00053 TH2 * fReference2ProfilePlastics; 00054 TH2 * fMeanRefProfilePlastics; 00055 TH2 * fTotLeftPlastics; 00056 TH2 * fTotRightPlastics; 00057 TH2 * fMultiplicityPlastics; 00058 00059 ClassDef(TPlasticsProc,1) 00060 }; 00061 #endif //TPLASTICSPROC_H 00062