1 #ifndef AliRICHdisplay_H
2 #define AliRICHdisplay_H
4 //////////////////////////////////////////////////////////////////////////
8 // Utility class to display ALice outline, tracks, hits,.. //
10 //////////////////////////////////////////////////////////////////////////
12 //#ifndef ROOT_TObject
15 #include "AliDisplay.h"
24 const Int_t kMAXZOOM = 20;
26 class AliRICHdisplay : /*splaypublic TObject,*/ public AliDisplay {
31 Int_t fZoomMode; //=1 if in zoom mode
33 Bool_t fDrawClusters; //Flag True if Clusters to be drawn
34 Float_t fTheta; //Viewing angle theta
35 Float_t fPhi; //Viewing angle phi
36 Float_t fPsi; //Viewving angle psi (rotation on display)
37 Float_t fRrange; //Size of view in R
38 Float_t fZrange; //Size of view along Z
39 Float_t fZoomX0[20]; //Low x range of zoom number i
40 Float_t fZoomY0[20]; //Low y range of zoom number i
41 Float_t fZoomX1[20]; //High x range of zoom number i
42 Float_t fZoomY1[20]; //High y range of zoom number i
43 Int_t fZooms; //Number of zooms
44 Int_t fHitsCuts; //Number of hits surviving cuts
45 Int_t fClustersCuts; //Number of clusters surviving cuts
46 TCanvas *fCanvas; //Pointer to the display canvas
47 TPad *fTrigPad; //Pointer to the trigger pad
48 TPad *fColPad; //Pointer to the colors pad
49 TPad *fButtons; //Pointer to the buttons pad
50 TPad *fPad; //Pointer to the event display main pad
51 TSlider *fRangeSlider; //Range slider
52 TButton *fPickButton; //Button to activate Pick mode
53 TButton *fZoomButton; //Button to activate Zoom mode
54 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
55 TObjArray *fPoints; //Array of points for each cathode
56 TObjArray *fPhits; //Array of hit points for each chamber
57 TObjArray *fPCerenkovs; //Array of cerenkov hits for each chamber
60 AliRICHdisplay(Int_t size);
61 virtual ~AliRICHdisplay();
62 virtual void Clear(Option_t *option="");
63 virtual void DisplayButtons();
64 virtual void CreateColors();
65 virtual void DisplayColorScale();
66 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
67 virtual void Draw(Option_t *option="");
68 virtual void DrawCerenkovs();
69 virtual void DrawClusters();
70 virtual void DrawHits();
71 virtual void DrawTitle(Option_t *option="");
72 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
73 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
74 Int_t GetZoomMode() {return fZoomMode;}
75 Int_t GetChamber() {return fChamber;}
76 Int_t GetCathode() {return fCathode;}
77 virtual void LoadDigits();
78 virtual void LoadCerenkovs(Int_t chamber);
79 virtual void LoadHits(Int_t chamber);
80 TPad *Pad() {return fPad;}
81 TObjArray *Points() {return fPoints;}
82 TObjArray *Phits() {return fPhits;}
83 TObjArray *PCerenkovs() {return fPCerenkovs;}
84 virtual void Paint(Option_t *option="");
85 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
86 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
87 virtual void SetRange(Float_t rrange=250, Float_t zrange=1050); // *MENU*
88 virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0);
89 virtual void SetPickMode();
90 virtual void SetZoomMode();
91 virtual void ShowNextEvent(Int_t delta=1);
92 virtual void UnZoom(); // *MENU*
93 virtual void ResetPoints();
94 virtual void ResetPhits();
95 virtual void ResetPCerenkovs();
98 ClassDef(AliRICHdisplay, 0) //Utility class to display RICH clusters...