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 CreateRawDataSource();
40 void DataMakerWasRegistered(AliMUONVTrackerDataMaker* reader);
42 void DataMakerWasUnregistered(AliMUONVTrackerDataMaker* reader);
44 void HistogramButtonClicked();
46 void OpenFileDialog();
48 void OpenRecentSource();
50 void StartRunning(AliMUONPainterDataSourceItem* item);
52 void StopRunning(AliMUONPainterDataSourceItem* item);
56 AliMUONPainterDataSourceFrame(const AliMUONPainterDataSourceFrame& rhs);
58 AliMUONPainterDataSourceFrame& operator=(const AliMUONPainterDataSourceFrame& rhs);
60 void AddRecentSource(const char* name);
62 Bool_t CreateRawDataSource(const TString& uri);
64 void CreateOCDBDataSource(const TString& uri);
66 void CreateOCDBDataSource(const TString& cdbPath, Int_t runNumber, const TString& type);
70 TGGroupFrame* fRecentSourceSelector; ///< to select recently used sources
72 TGGroupFrame* fRawSelector; ///< to select a new raw data source
73 TGCompositeFrame* fRawSelector2; ///< idem
74 TGCompositeFrame* fRawSelector21; ///< idem
75 TGCompositeFrame* fRawSelector22; ///< idem
76 TGCompositeFrame* fRawSelector23; ///< idem
77 TGCheckButton* fCalibrateNoGain; ///< to trig calibration of raw data (only 0 suppression)
78 TGCheckButton* fCalibrateGainConstantCapa; ///< to trig calibration of raw data (0-supp and gain w/ constant capacitance)
79 TGCheckButton* fCalibrateGain; ///< to trig calibration of raw data (full blown calibration)
80 TGCheckButton* fHistogramButton; ///< to trig histogramming of raw data
81 TGNumberEntry* fHistoMin; ///< xmin of histo to make
82 TGNumberEntry* fHistoMax; ///< xmax of histo to make
83 TGTextEntry* fRawOCDBPath; ///< OCDB path for raw data calibration
85 TGGroupFrame* fOCDBSelector; ///< to select a new OCDB data source
86 TGGroupFrame* fDataReaders; ///< to display currently active data sources
87 TGTextEntry* fFilePath; ///< raw data file path text entry widget
88 TGTextEntry* fOCDBPath; ///< OCDB path text entry widget
89 TGNumberEntry* fRunSelector; ///< OCDB run number entry widget
90 TGComboBox* fOCDBTypes; ///< OCDB type combo box entry widget
91 TGComboBox* fRecentSources; ///< recent sources combo box
92 TObjArray* fItems; ///< list of data readers we handle
94 static const char* fgkNumberOfDataSourcesKey; ///< key used to store the # of data sources in the resource file
95 static const char* fgkDataSourceURIKey; ///< key usde to store the data source URIs in the resource file
97 ClassDef(AliMUONPainterDataSourceFrame,2) // Data source selection frame