]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONPainterDataSourceItem.h
Add a protection against division by 0 (which may occur when a track exit from the...
[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,
49419555 29 AliMUONVTrackerDataMaker* maker);
0145e89a 30 virtual ~AliMUONPainterDataSourceItem();
31
32 void Run();
33
34 void Stop();
35
36 void Rewind();
37
49419555 38 void Remove();
0145e89a 39
40 void Update();
41
42 void Reset();
43
10eb3d17 44 /// Return data source reader
49419555 45 AliMUONVTrackerDataMaker* DataMaker() const { return fDataMaker; }
10eb3d17 46
47 void EnableRun();
48
49 void DisableRun();
50
51 void StartRunning(); //*SIGNAL*
52
53 void StopRunning(); //*SIGNAL*
54
49419555 55 void Save();
56
57 void SaveWithDialog();
58
0145e89a 59private:
49419555 60
61 void Save(const char* filename);
62
0145e89a 63 /// Not implemented
64 AliMUONPainterDataSourceItem(const AliMUONPainterDataSourceItem& rhs);
65 /// Not implemented
66 AliMUONPainterDataSourceItem& operator=(const AliMUONPainterDataSourceItem& rhs);
67
49419555 68 AliMUONVTrackerDataMaker* fDataMaker; ///< data source reader (not owner)
0145e89a 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
49419555 76 TGTextButton* fSave; ///< button to save the source (filename is fixed)
77 TGTextButton* fSaveAs; ///< button to save as...
0145e89a 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
49419555 83 ClassDef(AliMUONPainterDataSourceItem,3) // Data source widget
0145e89a 84};
85
86#endif