Line data Source code
1 : #ifndef ALIMUONPAINTERDATASOURCEITEM_H
2 : #define ALIMUONPAINTERDATASOURCEITEM_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 AliMUONPainterDataSourceItem
11 : /// \brief A widget describing a single data source
12 : ///
13 : // Author Laurent Aphecetche, Subatech
14 :
15 : #ifndef ROOT_TGFrame
16 : # include "TGFrame.h"
17 : #endif
18 :
19 : class AliMUONVTrackerDataMaker;
20 : class TGLabel;
21 : class TGTextButton;
22 : class AliMUONPainterDataReader;
23 : class TThread;
24 :
25 : class AliMUONPainterDataSourceItem : public TGCompositeFrame
26 : {
27 : public:
28 : AliMUONPainterDataSourceItem(const TGWindow* p, UInt_t w, UInt_t h,
29 : AliMUONVTrackerDataMaker* maker);
30 : virtual ~AliMUONPainterDataSourceItem();
31 :
32 : void Run();
33 :
34 : void Stop();
35 :
36 : void Rewind();
37 :
38 : void Remove();
39 :
40 : void Update();
41 :
42 : void Reset();
43 :
44 : /// Return data source reader
45 0 : AliMUONVTrackerDataMaker* DataMaker() const { return fDataMaker; }
46 :
47 : void EnableRun();
48 :
49 : void DisableRun();
50 :
51 : void StartRunning(); //*SIGNAL*
52 :
53 : void StopRunning(); //*SIGNAL*
54 :
55 : void Save();
56 :
57 : void SaveWithDialog();
58 :
59 : private:
60 :
61 : void Save(const char* filename);
62 :
63 : /// Not implemented
64 : AliMUONPainterDataSourceItem(const AliMUONPainterDataSourceItem& rhs);
65 : /// Not implemented
66 : AliMUONPainterDataSourceItem& operator=(const AliMUONPainterDataSourceItem& rhs);
67 :
68 : AliMUONVTrackerDataMaker* fDataMaker; ///< data source reader (not owner)
69 : TGLabel* fSourceName; ///< the (short) name of the data source
70 : TGLabel* fSource; ///< the full uri of the data source
71 : TGLabel* fNumberOfEvents; ///< number of evts this source has seen so far
72 : TGTextButton* fRun; ///< button to start running over the source
73 : TGTextButton* fStop; ///< button to stop running over the source
74 : TGTextButton* fRewind; ///< button to rewind events for the source
75 : TGTextButton* fRemove; ///< button to remove the source
76 : TGTextButton* fSave; ///< button to save the source (filename is fixed)
77 : TGTextButton* fSaveAs; ///< button to save as...
78 : TThread* fThread; ///< thread used to actually loop over the data
79 : Long_t fParams[2]; ///< used in conjunction with fThread
80 :
81 : Bool_t fShouldReset; ///< whether we should reset or not...
82 :
83 12 : ClassDef(AliMUONPainterDataSourceItem,3) // Data source widget
84 : };
85 :
86 : #endif
|