First big commit of the mchview program and its accompanying library,
[u/mrichter/AliRoot.git] / MUON / AliMUONPainterDataSourceItem.h
CommitLineData
0145e89a 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
19class AliMUONVTrackerDataMaker;
20class TGLabel;
21class TGTextButton;
22class AliMUONPainterDataReader;
23class TThread;
24
25class AliMUONPainterDataSourceItem : public TGCompositeFrame
26{
27public:
28 AliMUONPainterDataSourceItem(const TGWindow* p, UInt_t w, UInt_t h,
29 AliMUONVTrackerDataMaker* reader);
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
44private:
45 /// Not implemented
46 AliMUONPainterDataSourceItem(const AliMUONPainterDataSourceItem& rhs);
47 /// Not implemented
48 AliMUONPainterDataSourceItem& operator=(const AliMUONPainterDataSourceItem& rhs);
49
50 AliMUONVTrackerDataMaker* fDataReader; ///< data source reader (not owner)
51 TGLabel* fSourceName; ///< the (short) name of the data source
52 TGLabel* fSource; ///< the full uri of the data source
53 TGLabel* fNumberOfEvents; ///< number of evts this source has seen so far
54 TGTextButton* fRun; ///< button to start running over the source
55 TGTextButton* fStop; ///< button to stop running over the source
56 TGTextButton* fRewind; ///< button to rewind events for the source
57 TGTextButton* fRemove; ///< button to remove the source
58
59 TThread* fThread; ///< thread used to actually loop over the data
60 Long_t fParams[2]; ///< used in conjunction with fThread
61
62 Bool_t fShouldReset; ///< whether we should reset or not...
63
64 ClassDef(AliMUONPainterDataSourceItem,1) // Data source widget
65};
66
67#endif