]>
Commit | Line | Data |
---|---|---|
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 AliMUONPainterMatrix; | |
22 | class AliMUONVTrackerDataMaker; | |
23 | class AliMUONVTrackerData; | |
24 | class TGCheckButton; | |
25 | class TGComboBox; | |
26 | class TGGroupFrame; | |
27 | class TGNumberEntry; | |
28 | class TGTextEntry; | |
29 | class TObjArray; | |
30 | ||
31 | class AliMUONPainterDataSourceFrame : public TGCompositeFrame | |
32 | { | |
33 | public: | |
34 | AliMUONPainterDataSourceFrame(const TGWindow* p, UInt_t w, UInt_t h); | |
35 | virtual ~AliMUONPainterDataSourceFrame(); | |
36 | ||
37 | void CalibrateButtonClicked(); | |
38 | ||
39 | void CreateOCDBDataSource(); | |
40 | ||
41 | void CreateACFDataSource(); | |
42 | ||
43 | void CreateRawDataSource(); | |
44 | ||
45 | void DataMakerWasRegistered(AliMUONVTrackerDataMaker* reader); | |
46 | ||
47 | void DataMakerWasUnregistered(const AliMUONVTrackerDataMaker* reader); | |
48 | ||
49 | void HistogramButtonClicked(); | |
50 | ||
51 | void EventRangeButtonClicked(); | |
52 | ||
53 | void OpenFileDialog(); | |
54 | ||
55 | void OpenFileDialogACF(); | |
56 | ||
57 | void OpenRecentSource(); | |
58 | ||
59 | void StartRunning(); | |
60 | ||
61 | void StopRunning(); | |
62 | ||
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 | ||
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 | ||
86 | void CreateACFDataSource(const TString& uri); | |
87 | ||
88 | void CreateACFDataSource(const TString& acfPath, const TString& type); | |
89 | ||
90 | void RegisterDataSource(AliMUONVTrackerDataMaker* reader, const char* dsName); | |
91 | ||
92 | private: | |
93 | ||
94 | TGGroupFrame* fRecentSourceSelector; ///< to select recently used sources | |
95 | ||
96 | TGGroupFrame* fRawSelector; ///< to select a new raw data source | |
97 | TGCompositeFrame* fRawSelector2; ///< idem | |
98 | TGCompositeFrame* fRawSelector21; ///< idem | |
99 | TGCompositeFrame* fRawSelector22; ///< idem | |
100 | TGCompositeFrame* fRawSelector24; ///< idem | |
101 | TGCompositeFrame* fRawSelector23; ///< idem | |
102 | TGCheckButton* fCalibrateNoGain; ///< to trig calibration of raw data (only 0 suppression) | |
103 | TGCheckButton* fCalibrateGainConstantCapa; ///< to trig calibration of raw data (0-supp and gain w/ constant capacitance) | |
104 | TGCheckButton* fCalibrateGain; ///< to trig calibration of raw data (full blown calibration) | |
105 | TGCheckButton* fCalibrateEmelecGain; ///< to trig calibration of raw data (full blown calibration but with factory gains) | |
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 | TObjArray* fItems; ///< list of data readers we handle | |
122 | ||
123 | TGGroupFrame* fACFSelector; ///< to select ACF (ASCII calibration files) | |
124 | TGTextEntry* fACFPath; ///< path to ASCII calibration file | |
125 | TGComboBox* fACFTypes; ///< types of ASCII calibration files | |
126 | ||
127 | static const char* fgkNumberOfDataSourcesKey; ///< key used to store the # of data sources in the resource file | |
128 | static const char* fgkDataSourceURIKey; ///< key usde to store the data source URIs in the resource file | |
129 | ||
130 | ClassDef(AliMUONPainterDataSourceFrame,5) // Data source selection frame | |
131 | }; | |
132 | ||
133 | #endif |