Line data Source code
1 : #ifndef ALIMUONPAINTERDATASOURCEFRAME_H
2 : #define ALIMUONPAINTERDATASOURCEFRAME_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : // $Id$
8 :
9 : /// \ingroup graphics
10 : /// \class AliMUONPainterDataSourceFrame
11 : /// \brief Frame to select input data source(s) to be displayed
12 : ///
13 : // Author Laurent Aphecetche, Subatech
14 :
15 : #ifndef ROOT_TGFrame
16 : # include <TGFrame.h>
17 : #endif
18 :
19 : class AliMUONAttPainter;
20 : class AliMUONPainterDataSourceItem;
21 : class AliMUONPainterEnv;
22 : class AliMUONPainterMatrix;
23 : class AliMUONVTrackerDataMaker;
24 : class AliMUONVTrackerData;
25 : class TGCheckButton;
26 : class TGComboBox;
27 : class TGGroupFrame;
28 : class TGNumberEntry;
29 : class TGTextEntry;
30 : class TObjArray;
31 :
32 : class AliMUONPainterDataSourceFrame : public TGCompositeFrame
33 : {
34 : public:
35 : AliMUONPainterDataSourceFrame(const TGWindow* p, UInt_t w, UInt_t h);
36 : virtual ~AliMUONPainterDataSourceFrame();
37 :
38 : void CalibrateButtonClicked();
39 :
40 : void CreateOCDBDataSource();
41 :
42 : void CreateACFDataSource();
43 :
44 : void CreateRawDataSource();
45 :
46 : void DataMakerWasRegistered(AliMUONVTrackerDataMaker* reader);
47 :
48 : void DataMakerWasUnregistered(const AliMUONVTrackerDataMaker* reader);
49 :
50 : void HistogramButtonClicked();
51 :
52 : void EventRangeButtonClicked();
53 :
54 : void OpenFileDialog();
55 :
56 : void OpenFileDialogACF();
57 :
58 : void OpenRecentSource();
59 :
60 : void StartRunning();
61 :
62 : void StopRunning();
63 :
64 : static void CreatePedestalCanvases(AliMUONVTrackerData* data,
65 : Double_t pedMin=0, Double_t pedMax=500,
66 : Double_t sigmaMin=0, Double_t sigmaMax=5);
67 :
68 : static AliMUONPainterMatrix* CreateFullTracker(AliMUONVTrackerData* data,
69 : Int_t dim,
70 : Double_t xmin, Double_t xmax,
71 : const AliMUONAttPainter& att);
72 :
73 : private:
74 : /// Not implemented
75 : AliMUONPainterDataSourceFrame(const AliMUONPainterDataSourceFrame& rhs);
76 : /// Not implemented
77 : AliMUONPainterDataSourceFrame& operator=(const AliMUONPainterDataSourceFrame& rhs);
78 :
79 : void AddRecentSource(const char* name);
80 :
81 : Bool_t CreateRawDataSource(const TString& uri);
82 :
83 : void CreateOCDBDataSource(const TString& uri);
84 :
85 : void CreateOCDBDataSource(const TString& cdbPath, Int_t runNumber, const TString& type, const TString& ranges);
86 :
87 : void CreateACFDataSource(const TString& uri);
88 :
89 : void CreateACFDataSource(const TString& acfPath, const TString& type);
90 :
91 : void RegisterDataSource(AliMUONVTrackerDataMaker* reader, const char* dsName);
92 :
93 : AliMUONPainterEnv* Env();
94 :
95 : private:
96 :
97 : TGGroupFrame* fRecentSourceSelector; ///< to select recently used sources
98 :
99 : TGGroupFrame* fRawSelector; ///< to select a new raw data source
100 : TGCompositeFrame* fRawSelector2; ///< idem
101 : TGCompositeFrame* fRawSelector21; ///< idem
102 : TGCompositeFrame* fRawSelector22; ///< idem
103 : TGCompositeFrame* fRawSelector24; ///< idem
104 : TGCompositeFrame* fRawSelector23; ///< idem
105 : TGCheckButton* fCalibrateNoGain; ///< to trig calibration of raw data (only 0 suppression)
106 : TGCheckButton* fHistogramButton; ///< to trig histogramming of raw data
107 : TGNumberEntry* fHistoMin; ///< xmin of histo to make
108 : TGNumberEntry* fHistoMax; ///< xmax of histo to make
109 : TGCheckButton* fEventRangeButton; ///< to trig limitation of event range
110 : TGNumberEntry* fEventMin; ///< min event number to consider
111 : TGNumberEntry* fEventMax; ///< max event number to consider
112 : TGTextEntry* fRawOCDBPath; ///< OCDB path for raw data calibration
113 :
114 : TGGroupFrame* fOCDBSelector; ///< to select a new OCDB data source
115 : TGGroupFrame* fDataReaders; ///< to display currently active data sources
116 : TGTextEntry* fFilePath; ///< raw data file path text entry widget
117 : TGTextEntry* fOCDBPath; ///< OCDB path text entry widget
118 : TGNumberEntry* fRunSelector; ///< OCDB run number entry widget
119 : TGComboBox* fOCDBTypes; ///< OCDB type combo box entry widget
120 : TGComboBox* fRecentSources; ///< recent sources combo box
121 : TGTextButton* fCreateRecentButton; ///< button to create a recent data source
122 : TObjArray* fItems; ///< list of data readers we handle
123 :
124 : TGGroupFrame* fACFSelector; ///< to select ACF (ASCII calibration files)
125 : TGTextEntry* fACFPath; ///< path to ASCII calibration file
126 : TGComboBox* fACFTypes; ///< types of ASCII calibration files
127 :
128 :
129 12 : ClassDef(AliMUONPainterDataSourceFrame,7) // Data source selection frame
130 : };
131 :
132 : #endif
|