]>
Commit | Line | Data |
---|---|---|
0145e89a | 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 | ||
fcabdc0c | 19 | class AliMUONAttPainter; |
10eb3d17 | 20 | class AliMUONPainterDataSourceItem; |
fcabdc0c | 21 | class AliMUONPainterMatrix; |
0145e89a | 22 | class AliMUONVTrackerDataMaker; |
fcabdc0c | 23 | class AliMUONVTrackerData; |
8741815f | 24 | class TGCheckButton; |
0145e89a | 25 | class TGComboBox; |
8741815f | 26 | class TGGroupFrame; |
27 | class TGNumberEntry; | |
28 | class TGTextEntry; | |
29 | class TObjArray; | |
0145e89a | 30 | |
31 | class AliMUONPainterDataSourceFrame : public TGCompositeFrame | |
32 | { | |
33 | public: | |
34 | AliMUONPainterDataSourceFrame(const TGWindow* p, UInt_t w, UInt_t h); | |
35 | virtual ~AliMUONPainterDataSourceFrame(); | |
36 | ||
8741815f | 37 | void CalibrateButtonClicked(); |
38 | ||
0145e89a | 39 | void CreateOCDBDataSource(); |
40 | ||
1286237e | 41 | void CreateACFDataSource(); |
42 | ||
0145e89a | 43 | void CreateRawDataSource(); |
44 | ||
49419555 | 45 | void DataMakerWasRegistered(AliMUONVTrackerDataMaker* reader); |
0145e89a | 46 | |
57e2ad1a | 47 | void DataMakerWasUnregistered(const AliMUONVTrackerDataMaker* reader); |
0145e89a | 48 | |
10eb3d17 | 49 | void HistogramButtonClicked(); |
a679753e | 50 | |
51 | void EventRangeButtonClicked(); | |
52 | ||
0145e89a | 53 | void OpenFileDialog(); |
54 | ||
1286237e | 55 | void OpenFileDialogACF(); |
56 | ||
0145e89a | 57 | void OpenRecentSource(); |
10eb3d17 | 58 | |
b0cbe180 | 59 | void StartRunning(); |
10eb3d17 | 60 | |
b0cbe180 | 61 | void StopRunning(); |
10eb3d17 | 62 | |
fcabdc0c | 63 | static void CreatePedestalCanvases(AliMUONVTrackerData* data, |
64 | Double_t pedMin=0, Double_t pedMax=500, | |
65 | Double_t sigmaMin=0, Double_t sigmaMax=5); | |
66 | ||
67 | static AliMUONPainterMatrix* CreateFullTracker(AliMUONVTrackerData* data, | |
68 | Int_t dim, | |
69 | Double_t xmin, Double_t xmax, | |
70 | const AliMUONAttPainter& att); | |
71 | ||
0145e89a | 72 | private: |
73 | /// Not implemented | |
74 | AliMUONPainterDataSourceFrame(const AliMUONPainterDataSourceFrame& rhs); | |
75 | /// Not implemented | |
76 | AliMUONPainterDataSourceFrame& operator=(const AliMUONPainterDataSourceFrame& rhs); | |
77 | ||
78 | void AddRecentSource(const char* name); | |
79 | ||
80 | Bool_t CreateRawDataSource(const TString& uri); | |
81 | ||
82 | void CreateOCDBDataSource(const TString& uri); | |
83 | ||
84 | void CreateOCDBDataSource(const TString& cdbPath, Int_t runNumber, const TString& type); | |
85 | ||
1286237e | 86 | void CreateACFDataSource(const TString& uri); |
87 | ||
88 | void CreateACFDataSource(const TString& acfPath, const TString& type); | |
89 | ||
fcabdc0c | 90 | void RegisterDataSource(AliMUONVTrackerDataMaker* reader, const char* dsName); |
91 | ||
0145e89a | 92 | private: |
93 | ||
94 | TGGroupFrame* fRecentSourceSelector; ///< to select recently used sources | |
8741815f | 95 | |
0145e89a | 96 | TGGroupFrame* fRawSelector; ///< to select a new raw data source |
8741815f | 97 | TGCompositeFrame* fRawSelector2; ///< idem |
98 | TGCompositeFrame* fRawSelector21; ///< idem | |
99 | TGCompositeFrame* fRawSelector22; ///< idem | |
100 | TGCompositeFrame* fRawSelector23; ///< idem | |
10eb3d17 | 101 | TGCheckButton* fCalibrateNoGain; ///< to trig calibration of raw data (only 0 suppression) |
102 | TGCheckButton* fCalibrateGainConstantCapa; ///< to trig calibration of raw data (0-supp and gain w/ constant capacitance) | |
103 | TGCheckButton* fCalibrateGain; ///< to trig calibration of raw data (full blown calibration) | |
66cdf5b3 | 104 | TGCheckButton* fCalibrateEmelecGain; ///< to trig calibration of raw data (full blown calibration but with factory gains) |
a679753e | 105 | TGCheckButton* fHistogramButton; ///< to trig histogramming of raw data |
10eb3d17 | 106 | TGNumberEntry* fHistoMin; ///< xmin of histo to make |
107 | TGNumberEntry* fHistoMax; ///< xmax of histo to make | |
a679753e | 108 | TGCheckButton* fEventRangeButton; ///< to trig limitation of event range |
109 | TGNumberEntry* fEventMin; ///< min event number to consider | |
110 | TGNumberEntry* fEventMax; ///< max event number to consider | |
8741815f | 111 | TGTextEntry* fRawOCDBPath; ///< OCDB path for raw data calibration |
112 | ||
0145e89a | 113 | TGGroupFrame* fOCDBSelector; ///< to select a new OCDB data source |
114 | TGGroupFrame* fDataReaders; ///< to display currently active data sources | |
115 | TGTextEntry* fFilePath; ///< raw data file path text entry widget | |
0145e89a | 116 | TGTextEntry* fOCDBPath; ///< OCDB path text entry widget |
117 | TGNumberEntry* fRunSelector; ///< OCDB run number entry widget | |
118 | TGComboBox* fOCDBTypes; ///< OCDB type combo box entry widget | |
119 | TGComboBox* fRecentSources; ///< recent sources combo box | |
120 | TObjArray* fItems; ///< list of data readers we handle | |
121 | ||
1286237e | 122 | TGGroupFrame* fACFSelector; ///< to select ACF (ASCII calibration files) |
123 | TGTextEntry* fACFPath; ///< path to ASCII calibration file | |
124 | TGComboBox* fACFTypes; ///< types of ASCII calibration files | |
125 | ||
0145e89a | 126 | static const char* fgkNumberOfDataSourcesKey; ///< key used to store the # of data sources in the resource file |
127 | static const char* fgkDataSourceURIKey; ///< key usde to store the data source URIs in the resource file | |
128 | ||
a679753e | 129 | ClassDef(AliMUONPainterDataSourceFrame,5) // Data source selection frame |
0145e89a | 130 | }; |
131 | ||
132 | #endif |