1 #ifndef AliFMDDISPLAY_H
2 #define AliFMDDISPLAY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
6 * See cxx source for full Copyright notice
8 //___________________________________________________________________
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.
16 #include "AliFMDInput.h"
22 //___________________________________________________________________
23 class AliFMDDisplay : public AliFMDInput
26 AliFMDDisplay(const char* gAliceFile="galice.root");
27 virtual ~AliFMDDisplay() {}
28 static AliFMDDisplay* Instance();
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);
37 virtual Bool_t Init();
38 virtual Bool_t Begin(Int_t event);
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;
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
68 //____________________________________________________________________