#ifndef FIN_FndStbMon #define FIN_FndStbMon //_____________________________________________________________________ // // TFndStbMon // // Description of the Stb online monitor // #include "TObject.h" #include "TFndHdt.h" #include "TFile.h" #include "TMapFile.h" #include "TH1.h" #include "TH2.h" #include "TCanvas.h" class TFndStbMon : public TObject { protected: Int_t shmflg; // Shared Memory flag TFile *fstb; // Stb histogram file TMapFile *mstb; // main STB shared memory TMapFile *stb_tdc_1; // Crown 1 shared memory TMapFile *stb_tdc_2; // Crown 2 shared memory TMapFile *stb_tdc_3; // Crown 3 shared memory TMapFile *stb_tdc_4; // Crown 4 shared memory TMapFile *stb_tdc_5; // Crown 5 shared memory TMapFile *stb_tdc_6; // Crown 6 shared memory TCanvas *stb_mon_tdc; // Canvas for TDC TCanvas *stb_mon_pat; // Canvas for Patterns TH1F *stbmult; // STB multiplicity TH2F *stbmaptdc; // STB TDC pattern static const Int_t n_stb_crwn = 6; // Number of Crowns TH1F *stb_pattern[n_stb_crwn]; // hit pattern for various crowns static const Int_t n_stb_hist = 404; // Number of Tubes/Crown TH1F *stbtdc1[n_stb_hist]; // TDCs for Crown 1 TH1F *stbtdc2[n_stb_hist]; // TDCs for Crown 2 TH1F *stbtdc3[n_stb_hist]; // TDCs for Crown 3 TH1F *stbtdc4[n_stb_hist]; // TDCs for Crown 4 TH1F *stbtdc5[n_stb_hist]; // TDCs for Crown 5 TH1F *stbtdc6[n_stb_hist]; // TDCs for Crown 6 TH1F *stb1d; TH2F *stb2d; public: // TFndStbMon() {}; // Default constructor TFndStbMon(const char *fmode,Int_t stb_tdc_bins=500,Double_t stb_tdc_min=3000.,Double_t stb_tdc_max=4000.); // Constructor TFndStbMon(); // Constructor for Consumer ~TFndStbMon(); // Destructor void Fill(TFndHdt *); // Fill Histograms in shared memories void Update(); // Update shared memories void WriteToFile(); // Write monitor histos to file void DisplayTube(Int_t crown,Int_t number); // Display tube "number" in crown "crown" void DisplayPattern(Int_t crown); // Display hit pattern for crown "crown" ClassDef(TFndStbMon,3) // The STB monitor }; #endif