1 #ifndef ALIMUONPAINTERDATASOURCEFRAME_H
2 #define ALIMUONPAINTERDATASOURCEFRAME_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONPainterDataSourceFrame
11 /// \brief Frame to select input data source(s) to be displayed
13 // Author Laurent Aphecetche, Subatech
19 class AliMUONPainterDataSourceItem;
20 class AliMUONVTrackerDataMaker;
28 class AliMUONPainterDataSourceFrame : public TGCompositeFrame
31 AliMUONPainterDataSourceFrame(const TGWindow* p, UInt_t w, UInt_t h);
32 virtual ~AliMUONPainterDataSourceFrame();
34 void CalibrateButtonClicked();
36 void CreateOCDBDataSource();
38 void CreateACFDataSource();
40 void CreateRawDataSource();
42 void DataMakerWasRegistered(AliMUONVTrackerDataMaker* reader);
44 void DataMakerWasUnregistered(AliMUONVTrackerDataMaker* reader);
46 void HistogramButtonClicked();
48 void OpenFileDialog();
50 void OpenFileDialogACF();
52 void OpenRecentSource();
60 AliMUONPainterDataSourceFrame(const AliMUONPainterDataSourceFrame& rhs);
62 AliMUONPainterDataSourceFrame& operator=(const AliMUONPainterDataSourceFrame& rhs);
64 void AddRecentSource(const char* name);
66 Bool_t CreateRawDataSource(const TString& uri);
68 void CreateOCDBDataSource(const TString& uri);
70 void CreateOCDBDataSource(const TString& cdbPath, Int_t runNumber, const TString& type);
72 void CreateACFDataSource(const TString& uri);
74 void CreateACFDataSource(const TString& acfPath, const TString& type);
78 TGGroupFrame* fRecentSourceSelector; ///< to select recently used sources
80 TGGroupFrame* fRawSelector; ///< to select a new raw data source
81 TGCompositeFrame* fRawSelector2; ///< idem
82 TGCompositeFrame* fRawSelector21; ///< idem
83 TGCompositeFrame* fRawSelector22; ///< idem
84 TGCompositeFrame* fRawSelector23; ///< idem
85 TGCheckButton* fCalibrateNoGain; ///< to trig calibration of raw data (only 0 suppression)
86 TGCheckButton* fCalibrateGainConstantCapa; ///< to trig calibration of raw data (0-supp and gain w/ constant capacitance)
87 TGCheckButton* fCalibrateGain; ///< to trig calibration of raw data (full blown calibration)
88 TGCheckButton* fCalibrateEmelecGain; ///< to trig calibration of raw data (full blown calibration but with factory gains)
89 TGCheckButton* fHistogramButton; ///< to trig histogramming of raw data
90 TGNumberEntry* fHistoMin; ///< xmin of histo to make
91 TGNumberEntry* fHistoMax; ///< xmax of histo to make
92 TGTextEntry* fRawOCDBPath; ///< OCDB path for raw data calibration
94 TGGroupFrame* fOCDBSelector; ///< to select a new OCDB data source
95 TGGroupFrame* fDataReaders; ///< to display currently active data sources
96 TGTextEntry* fFilePath; ///< raw data file path text entry widget
97 TGTextEntry* fOCDBPath; ///< OCDB path text entry widget
98 TGNumberEntry* fRunSelector; ///< OCDB run number entry widget
99 TGComboBox* fOCDBTypes; ///< OCDB type combo box entry widget
100 TGComboBox* fRecentSources; ///< recent sources combo box
101 TObjArray* fItems; ///< list of data readers we handle
103 TGGroupFrame* fACFSelector; ///< to select ACF (ASCII calibration files)
104 TGTextEntry* fACFPath; ///< path to ASCII calibration file
105 TGComboBox* fACFTypes; ///< types of ASCII calibration files
107 static const char* fgkNumberOfDataSourcesKey; ///< key used to store the # of data sources in the resource file
108 static const char* fgkDataSourceURIKey; ///< key usde to store the data source URIs in the resource file
110 ClassDef(AliMUONPainterDataSourceFrame,4) // Data source selection frame