00001 #ifndef TTRIGLOGPROC_H 00002 #define TTRIGLOGPROC_H 00003 00004 00005 #include "TCBMBeamtimeProc.h" 00006 00007 #include "TTriglogEvent.h" 00008 00009 class TLatex; 00010 00011 class TTriglogProc : public TCBMBeamtimeProc { 00012 00013 public: 00014 00015 TTriglogProc(); 00016 TTriglogProc(const char* name, const char* channel_names = 0); 00017 virtual ~TTriglogProc(); 00018 00019 virtual void InitEvent(TGo4EventElement*); // event processing function 00020 virtual void ProcessSubevent(TGo4MbsSubEvent* subevt); 00021 00022 protected: 00023 00024 TTriglogEvent* fOutputEvent; 00025 00026 TH1 *fVulomSyncs; 00027 TH1 *fVulomScalers[NUM_SCALERS]; 00028 TLatex *fVulomInfo; 00029 00030 UInt_t fFirstMbsTime; 00031 UInt_t fLastMbsTime; 00032 00033 UInt_t fFirstScaler[NUM_SCALERS][N_SCALERS_CH]; 00034 UInt_t fLastScaler[NUM_SCALERS][N_SCALERS_CH]; 00035 00036 Int_t fTotalTriggerCount; 00037 00038 TString fChannelNames[N_SCALERS_CH]; 00039 00040 TH1* fSpillRate; 00041 Int_t fLastSync; 00042 00043 Double_t fPrevMbsTime; // previous point for rate measurement 00044 UInt_t fPrevScaler[NUM_SCALERS][N_SCALERS_CH]; // VULOM scaler contents 00045 Double_t fScalerRate[NUM_SCALERS][N_SCALERS_CH]; // VULOM scaler rate 00046 TH1* fRate[NUM_SCALERS][N_SCALERS_CH]; // VULOM scaler rate 00047 00048 00049 ClassDef(TTriglogProc,1) 00050 }; 00051 00052 #endif //TUNPACKPROCESSOR_H