1 #ifndef AliMUONdisplay_H
2 #define AliMUONdisplay_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 AliMUONdisplay : /*splaypublic TObject,*/ public AliDisplay {
32 Int_t fZoomMode; //=1 if in zoom mode
34 Bool_t fDrawClusters; //Flag True if Clusters to be drawn
35 Bool_t fDrawCoG; //Flag True if CoG to be drawn
36 Bool_t fDrawCathCor; //Flag True if correlated point
38 Float_t fTheta; //Viewing angle theta
39 Float_t fPhi; //Viewing angle phi
40 Float_t fPsi; //Viewving angle psi (rotation on display)
42 Float_t fRrange; //Size of view in R
43 Float_t fZrange; //Size of view along Z
44 Float_t fZoomX0[20]; //Low x range of zoom number i
45 Float_t fZoomY0[20]; //Low y range of zoom number i
46 Float_t fZoomX1[20]; //High x range of zoom number i
47 Float_t fZoomY1[20]; //High y range of zoom number i
48 Int_t fZooms; //Number of zooms
49 Int_t fHitsCuts; //Number of hits surviving cuts
50 Int_t fClustersCuts; //Number of clusters surviving cuts
51 TCanvas *fCanvas; //Pointer to the display canvas
52 TPad *fTrigPad; //Pointer to the trigger pad
53 TPad *fColPad; //Pointer to the colors pad
54 TPad *fButtons; //Pointer to the buttons pad
55 TPad *fPad; //Pointer to the event display main pad
56 TSlider *fRangeSlider; //Range slider
57 TButton *fPickButton; //Button to activate Pick mode
58 TButton *fZoomButton; //Button to activate Zoom mode
59 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
60 TObjArray *fPoints; //Array of points for each cathode
61 TObjArray *fPhits; //Array of hit points for each chamber
62 TObjArray *fRpoints; //Array of cog points for each cathode
63 TObjArray *fR2points; //Array of cog points for each cathode
64 TObjArray *fCpoints; //Array of correlated points for each first cathode
67 AliMUONdisplay(Int_t size);
68 virtual ~AliMUONdisplay();
69 virtual void Clear(Option_t *option="");
70 virtual void DisplayButtons();
71 virtual void CreateColors();
72 virtual void DisplayColorScale();
73 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
74 virtual void Draw(Option_t *option="");
75 virtual void DrawClusters();
76 virtual void DrawHits();
77 virtual void DrawCoG();
78 virtual void DrawCoG2();
79 virtual void DrawCathCor();
81 virtual void DrawTitle(Option_t *option="");
82 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
83 virtual void DrawP(Float_t,Float_t,Float_t,Float_t,Float_t,Int_t){}
84 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
85 Int_t GetZoomMode() {return fZoomMode;}
86 Int_t GetChamber() {return fChamber;}
87 Int_t GetCathode() {return fCathode;}
88 virtual void LoadDigits(Int_t chamber, Int_t cathode);
89 virtual void LoadHits(Int_t chamber);
90 virtual void LoadCoG(Int_t chamber, Int_t cathode);
91 virtual void LoadCoG2(Int_t chamber, Int_t cathode);
92 virtual void LoadCathCor(Int_t chamber);
93 TPad *Pad() {return fPad;}
94 TObjArray *Points() {return fPoints;}
95 TObjArray *Phits() {return fPhits;}
96 TObjArray *Rpoints() {return fRpoints;}
97 TObjArray *R2points() {return fR2points;}
98 TObjArray *Cpoints() {return fCpoints;}
99 virtual void Paint(Option_t *option="");
100 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
101 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
102 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} // *MENU*
103 virtual void SetDrawCathCor(Bool_t draw=kTRUE) {fDrawCathCor=draw;} // *MENU*
104 virtual void SetRange(Float_t rrange=250., Float_t zrange=1050.); // *MENU*
105 virtual void SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
106 virtual void SetPickMode();
107 virtual void SetZoomMode();
108 virtual void ShowNextEvent(Int_t delta=1);
109 virtual void UnZoom(); // *MENU*
110 virtual void ResetPoints();
111 virtual void ResetPhits();
112 virtual void ResetRpoints();
113 virtual void ResetR2points();
114 virtual void ResetCpoints();
116 ClassDef(AliMUONdisplay, 0) //Utility class to display MUON clusters...