00001
00002
00003
00004
00005 #ifndef FROOT_TFndSilMonFrame
00006 #define FROOT_TFndSilMonFrame
00007
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019 #include "FROOT.h"
00020
00021 #include <string.h>
00022 #include <Riostream.h>
00023 #include "TObject.h"
00024 #include "TFile.h"
00025 #ifdef _FND_ONL_USE_MAP_FILES_
00026 #include "TMapFile.h"
00027 #endif
00028 #include "TBrowser.h"
00029 #include "TCanvas.h"
00030 #include "TButton.h"
00031 #include "TString.h"
00032 #include "TH1.h"
00033 #include "TFndMonFrame.h"
00034
00035 using namespace FROOT;
00036
00037 class TFndSilMonFrame : public TFndMonFrame {
00038
00039 public:
00040 enum E_SilDisplayMode{
00041 E_SilHist_Displ_SingleSide = 0,
00042 E_SilHist_Displ_AllSides = 1
00043 };
00044
00045 enum E_SilHist{
00046 E_SilHist_Noise = 0,
00047 E_SilHist_Mult = 1,
00048 E_SilHist_CMmean = 2,
00049 E_SilHist_CMsigma = 3,
00050 E_SilHist_CluCrg = 4,
00051 E_SilHist_CluCleanMult = 5,
00052 E_SilHist_CluCrgClean = 6,
00053 E_SilHist_CluDeDx = 7,
00054 E_SilHist_CluDeDx2D = 8,
00055 E_SilHist_CluPos2D = 9
00056 };
00057
00058 protected:
00059
00060 Int_t fLayer;
00061 Int_t fModNum;
00062 Int_t fSide;
00063
00064 Int_t fSideHighlightCol;
00065
00066 #if defined _FND_ONL_USE_MAP_FILES_
00067 TMapFile *fIsmMapFile;
00068 TMapFile *fOsmMapFile;
00069 #elif defined _FND_ONL_USE_SHARED_FILES_
00070 TFile *fIsmMapFile;
00071 TFile *fOsmMapFile;
00072 #endif
00073
00074 TPad *fIsimPad;
00075 TPad *fOsimPad;
00076 TPad *fAllPadControl;
00077 TButton *fModNumBut[18];
00078 TButton *fAllButton[8];
00079
00080 TPad *fSideSelPad;
00081 TButton *fModAllBut;
00082 TButton *fSideBut[4];
00083 TH1F *fHisto;
00084
00085 Int_t fWhichGroup;
00086 Int_t fAllId;
00087
00088
00089 TString fNam_Noise[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides];
00090 TString fNam_Mult[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides];
00091 TString fNam_ClCh[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides];
00092 TString fNam_CMsigma[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides];
00093 TString fNam_CMmean[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides];
00094
00095
00096 TString fNam_CleanMult[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides-1];
00097 TString fNam_ClChClean[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides-1];
00098 TString fNam_dEdx[E_FIN_OUTER_LAYER][K_N_Sil_Modules][K_N_Sil_Sides-1];
00099 TString fNam_dEdx_PvsZ[E_FIN_OUTER_LAYER][K_N_Sil_Modules];
00100 TString fNam_Pos_PvsZ[E_FIN_OUTER_LAYER][K_N_Sil_Modules];
00101
00102 void ResetFrameColors();
00103 void DrawButtons();
00104 void DrawControlButtons();
00105 void DrawHist(E_SilHist which_type);
00106
00107 public:
00108
00109 TFndSilMonFrame(TString filename=0,TString filename2=0);
00110 ~TFndSilMonFrame();
00111
00112 Bool_t StartInterface();
00113 void Open();
00114 void Close();
00115
00116 Bool_t ReloadMapFiles();
00117
00118 void SelectModule(Int_t layer,Int_t module);
00119 void SelectSide(Int_t side);
00120
00121 void DisplayModuleDefault();
00122 void DisplayHist(Int_t display_mode);
00123 void DisplayAllHist(Int_t layer, Int_t type);
00124
00125 void ClearSidePad();
00126 void RebuildSidePad();
00127 TButton *HighlightButtons(Int_t which_group,Int_t All_id=0);
00128 void RefreshSingleMonView();
00129
00130 private:
00131 void Init();
00132
00133 ClassDef(TFndSilMonFrame,0)
00134
00135 };
00136 #endif // FROOT_TFndSilMonFrame
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153