STB/TFndStbMonFrame.h

00001 // @(#)fROOT/STB:$Name:  $:$Id: TFndStbMonFrame.h,v 1.9 2007/09/05 10:48:18 Diego_Faso Exp $
00002 // Revision Author: Diego Faso <mailto:faso@to.infn.it>, 2005/06/24
00003 // Original Author: Piergiorgio Cerello <mailto:cerello@to.infn.it>, 2001
00004 
00005 #ifndef FROOT_TFndStbMonFrame
00006 #define FROOT_TFndStbMonFrame
00007 
00009 //                                                //
00010 //               TFndStbMonFrame                  //
00011 //                                                //
00012 //  Class for the STB monitoring GUI              //
00013 //                                                //
00014 //  (see GTS relative class for descriptions)     //
00015 //                                                //
00016 //                                                //
00018 
00019 #include "FROOT.h"
00020 
00021 #include <string.h>
00022 #include <Riostream.h>
00023 #include "TObject.h"
00024 #include "TBrowser.h"
00025 #include "TString.h"
00026 #ifdef _FND_ONL_USE_MAP_FILES_
00027 #include "TMapFile.h"
00028 #endif
00029 #include "TFile.h"
00030 #include "TCanvas.h"
00031 #include "TButton.h"
00032 #include "TH1F.h"
00033 #include "TH2F.h"
00034 #include "TFndMonFrame.h"
00035 
00036 using namespace FROOT;
00037 
00038 class TFndStbMonFrame : public TFndMonFrame {
00039 
00040 private:
00041 
00042 #if defined _FND_ONL_USE_MAP_FILES_
00043   TMapFile *fMap;
00044   TMapFile *fShm[K_N_STB_CROWNS];
00045 #elif defined _FND_ONL_USE_SHARED_FILES_
00046   TFile *fMap;
00047   TFile *fShm[K_N_STB_CROWNS];
00048 #endif
00049   Int_t fNMaxCrown;
00050   Int_t fNMaxTube;
00051   Int_t fcrown;
00052   Int_t ftube;
00053   //  Int_t fT0flag;
00054 
00055   TH1F *h1; 
00056   TH2F *h2; 
00057   TH1F *hpat[K_N_STB_CROWNS];
00058 
00059   //  TCanvas *mcanvas;
00060   TPad *fCrownPad;
00061   TPad *fTubePad;
00062   TPad *fHistoPad;
00063   //TPad *fDrawPad;
00064   TPad *fActionPad;
00065   TPad *fMessagePad;
00066 
00067   TButton *fCrownPadTitBut;
00068   TButton *fTubePadTitBut;
00069   TButton *fCrownBut[K_N_STB_CROWNS];
00070   TButton *fTubeBut[K_N_STB_CROWNS];
00071   TButton *fStatusBut;
00072   TButton *fErrorBut;
00073   TButton *fPatternBut;
00074   TButton *fTdcMapBut;
00075   TButton *fMulBut;
00076 
00077   Int_t fCrownButCol;
00078   Int_t fTubeButCol;
00079   Int_t fMessageButCol;
00080   Int_t fHistoButCol;
00081   Int_t fMulButCol;
00082 
00083   // --- Autoupdate data-members
00084   Int_t fLastAction; // remember last action (0:crown-tube ; 1:pattern ; 2: 2D map)
00085 
00086 
00087  public:
00088 
00089   TFndStbMonFrame(TString filename=0); 
00090   ~TFndStbMonFrame();
00091 
00092   void Open();
00093   void Close();
00094   Bool_t ReloadMapFiles(); // return true if map-files were found
00095 
00096   Bool_t StartInterface();
00097 
00098   void SetCrown(Int_t cr);
00099   void ShiftTube(Int_t shift);
00100   void TellSelection();
00101   void T0Calib();
00102 
00103   void ClearButton();
00104   void DrawHist();
00105   void DrawTdcMap();
00106   void DrawPatterns();
00107   void DrawMultiplicity();
00108 
00109   void RefreshSingleMonView(); //to be implemented
00110 
00111  private:
00112   void Init();
00113   void DrawButtons();
00114 
00115   ClassDef(TFndStbMonFrame,0)    // Module Histograms
00116 };
00117 #endif // FROOT_TFndStbMonFrame
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 

Generated on Tue Oct 16 15:40:48 2007 by  doxygen 1.5.2