#ifndef FIN_FndTofMon #define FIN_FndTofMon //_____________________________________________________________________ // // TFndTofMon // // Description of the Tof online monitor // #include "TObject.h" #include "TFndHdt.h" #include "TMapFile.h" #include "TH1.h" #include "TH2.h" #include "TCanvas.h" class TFndTofMon : public TObject { protected: Int_t shmflg; // Shared Memory flag TFile *ftof; // Tof histogram file TMapFile *mtof; // main TOF shared memory TMapFile *mtof_adc; // ADC TOF shared memory TMapFile *mtof_tdc; // TDC TOF shared memory TCanvas *tof_mon_adc; // Canvas for ADC TCanvas *tof_mon_tdc; // Canvas for TDC TCanvas *tof_mon_adc_tdc; // Canvas for ADC & TDC TH1F *tofmult; // TOF multiplicity TH1F *tof_upp_mult; // TOF upper multiplicity TH1F *tof_low_mult; // TOF lower multiplicity TH1F *tofmap; // TOF pattern TH1F *tofmapadc0; // TOF ADC pattern (F || R != 0) TH1F *tofmapadc00; // TOF ADC pattern (F && R != 0) TH1F *tofmapadcf; // TOF ADC pattern (F) TH1F *tofmapadcr; // TOF ADC pattern (R) TH1F *tofmaptdc0; // TOF TDC pattern (F || R != 0) TH1F *tofmaptdc00; // TOF TDC pattern (F && R != 0) TH1F *tofmaptdcf; // TOF TDC pattern (F) TH1F *tofmaptdcr; // TOF TDC pattern (R) static const Int_t n_tof_hist = 20; // Number of slabs TH2F *tof_mapadctdc[n_tof_hist]; // ADC vs TDC existence TH2F *tof_adc_tdc[n_tof_hist]; // ADC vs TDC TH1F *tofadcf[n_tof_hist]; // Front ADC TH1F *tofadcr[n_tof_hist]; // Rear ADC TH1F *tofcrg[n_tof_hist]; // ADC (F+R) TH2F *tofadc[n_tof_hist]; // ADC (F vs R) TH1F *toftdcf[n_tof_hist]; // Front TDC TH1F *toftdcr[n_tof_hist]; // Rear TDC TH1F *toftdf[n_tof_hist]; // Time difference TH1F *toftmn[n_tof_hist]; // Mean Time TH2F *toftdc[n_tof_hist]; // TDC (F vs R) TH1F *tof1d; TH1F *tof2d; public: // TFndTofMon() {}; // Default constructor TFndTofMon(const char *fmode,Int_t tof_tdc_bins=100,Double_t tof_tdc_min = 2500.,Double_t tof_tdc_max = 3000.); // Constructor for Producer TFndTofMon(); // Constructor for Consumer ~TFndTofMon(); // Destructor void Fill(TFndHdt *); // Fill TOF shared memories void Update(); // Update shared memories void DisplaySlab(Int_t slab); // Display slab "slab" void WriteToFile(); // Write histograms to file ClassDef(TFndTofMon,1) // The TOF monitor }; #endif