]>
Commit | Line | Data |
---|---|---|
bf000c32 | 1 | #ifndef AliFMDDISPLAY_H |
2 | #define AliFMDDISPLAY_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
8 | //___________________________________________________________________ | |
9 | // | |
10 | // The classes defined here, are utility classes for reading in data | |
11 | // for the FMD. They are put in a seperate library to not polute the | |
12 | // normal libraries. The classes are intended to be used as base | |
13 | // classes for customized class that do some sort of analysis on the | |
14 | // various types of data produced by the FMD. | |
15 | // | |
16 | #include "AliFMDInput.h" | |
17 | class TObjArray; | |
18 | class TCanvas; | |
19 | class TPad; | |
20 | class TButton; | |
21 | ||
22 | //___________________________________________________________________ | |
23 | class AliFMDDisplay : public AliFMDInput | |
24 | { | |
25 | public: | |
26 | AliFMDDisplay(const char* gAliceFile="galice.root"); | |
27 | virtual ~AliFMDDisplay() {} | |
28 | static AliFMDDisplay* Instance(); | |
29 | ||
30 | void Continue() { fWait = kFALSE; } | |
31 | void Zoom() { fZoomMode = kTRUE; } | |
32 | void Pick() { fZoomMode = kFALSE; } | |
33 | void ExecuteEvent(Int_t event, Int_t px, Int_t py); | |
34 | Int_t DistanceToPrimitive(Int_t px, Int_t py); | |
35 | ||
36 | ||
37 | virtual Bool_t Init(); | |
38 | virtual Bool_t Begin(Int_t event); | |
39 | virtual Bool_t End(); | |
40 | virtual Bool_t ProcessHit(AliFMDHit* hit, TParticle* p); | |
41 | virtual Bool_t ProcessDigit(AliFMDDigit* digit); | |
42 | virtual Bool_t ProcessRecPoint(AliFMDRecPoint* recpoint); | |
43 | virtual Int_t LookupColor(Float_t x, Float_t max) const; | |
44 | protected: | |
45 | static AliFMDDisplay* fgInstance; // Static instance | |
46 | Bool_t fWait; // Wait until user presses `Continue' | |
47 | TObjArray* fMarkers; // Cache of markers | |
48 | TObjArray* fHits; // Cache of `hits' | |
49 | TCanvas* fCanvas; // Canvas to draw in | |
50 | TPad* fPad; // View pad. | |
51 | TButton* fButton; // Continue button | |
52 | TButton* fZoom; // Zoom button | |
53 | TButton* fPick; // Pick button | |
54 | Bool_t fZoomMode; // Whether we're in Zoom mode | |
55 | Float_t fX0; // X at lower left corner or range | |
56 | Float_t fY0; // Y at lower left corner or range | |
57 | Float_t fX1; // X at upper right corner or range | |
58 | Float_t fY1; // Y at upper right corner or range | |
59 | Int_t fXPixel; // X pixel of mark | |
60 | Int_t fYPixel; // Y pixel of mark | |
61 | Int_t fOldXPixel; // Old x pixel of mark | |
62 | Int_t fOldYPixel; // Old y pixel of mark | |
63 | Bool_t fLineDrawn; // Whether we're drawing a box | |
64 | ClassDef(AliFMDDisplay,0) // FMD specialised event display | |
65 | }; | |
66 | ||
67 | #endif | |
68 | //____________________________________________________________________ | |
69 | // | |
70 | // Local Variables: | |
71 | // mode: C++ | |
72 | // End: | |
73 | // | |
74 | // EOF | |
75 | // |