Go to the documentation of this file.00001 #ifndef TMBSCRATEPROC_H
00002 #define TMBSCRATEPROC_H
00003
00004 #include "TMbsCrateEvent.h"
00005 #include "TGo4Picture.h"
00006 #include "TH1.h"
00007 #include "TH2.h"
00008 #include "TLatex.h"
00009 #include "TCBMBeamtimeProc.h"
00010 #include "T1290Data.h"
00011
00012 #include "TMbsCrateParam.h"
00013
00014 class TGo4EventElement;
00015 class TGo4MbsSubEvent;
00016 class TMbsCrateParam;
00017
00018 class TMbsCrateProc : public TCBMBeamtimeProc {
00019
00020 friend class TCBMBeamtimeProc;
00021
00022 public:
00023
00024 TMbsCrateProc();
00025 TMbsCrateProc(const char* name);
00026 virtual ~TMbsCrateProc();
00027
00028 virtual void InitEvent(TGo4EventElement*);
00029 virtual void ProcessSubevent(TGo4MbsSubEvent* subevt);
00030
00031 protected:
00032
00033 void Process1182(int num, int* pdata, int len);
00034
00035 void Process1290(int num, int* pdata, unsigned int len);
00036
00037 void Process965(int num, int* pdata, unsigned int len);
00038
00039 void ProcessVFTX(int num, uint32_t* pdata, unsigned int len);
00040
00041 void ProcessQFW(uint32_t* pdata, unsigned int len);
00042
00043 void ProcessScalOrMu(uint32_t* pdata, unsigned int len);
00044
00045 TMbsCrateParam * fPar;
00046
00047 TMbsCrateEvent * fOutputEvent;
00048
00049 TH1* f1182h[MAX_1182][NUM_1182_CH];
00050
00051
00052 T1290Proc fTDC[MAX_1290];
00053
00054 Int_t iCaenEnabled;
00055
00056 TH2* fTDC_chanMapL[ MAX_1290*(MAX_1290+1)/2 ];
00057 Int_t iMapIndex;
00058
00059
00060 TH1* fQdc_Charge[MAX_965][MQDC_t::NumChan];
00061
00062
00063 TH1* fFPGA_Ch[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00064
00065
00066 TH1* fQFWcnt;
00067 TH1* fQFWerr;
00068 TLatex* fQFWInfo;
00069
00070 Int_t iLastEventNumber;
00071 ClassDef(TMbsCrateProc,1)
00072 };
00073
00074 #endif //TUNPACKPROCESSOR_H
00075