1 #ifndef ALIMUONDISPLAY_H
2 #define ALIMUONDISPLAY_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //////////////////////////////////////////////////////////////////////////
13 // Utility class to display ALice outline, tracks, hits,.. //
15 //////////////////////////////////////////////////////////////////////////
17 //#ifndef ROOT_TObject
20 #include "AliDisplay.h"
31 class AliMUONDisplay : /*splaypublic TObject,*/ public AliDisplay {
34 AliMUONDisplay(Int_t size, AliLoader * loader=0x0);
35 AliMUONDisplay(const AliMUONDisplay& display);
37 virtual ~AliMUONDisplay();
38 virtual void Clear(Option_t *option="");
39 virtual void DisplayButtons();
40 virtual void CreateColors();
41 virtual void DisplayColorScale();
42 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
43 virtual void Draw(Option_t *option="");
44 virtual void DrawClusters();
45 virtual void DrawHits();
46 virtual void DrawCoG();
47 virtual void DrawSegmentation();
48 virtual void DrawTitle(Option_t *option="");
49 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
50 virtual void DrawP(Float_t,Float_t,Float_t,Float_t,Float_t,Int_t){}
51 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
52 Int_t GetZoomMode() {return fZoomMode;}
53 Int_t GetChamber() {return fChamber;}
54 Int_t GetCathode() {return fCathode;}
56 AliMUONData* GetMUONData() {return fMUONData;}
57 AliLoader* GetLoader() {return fLoader;}
59 virtual void LoadDigits(Int_t chamber, Int_t cathode);
60 virtual void LoadHits(Int_t chamber);
61 virtual void LoadCoG(Int_t chamber, Int_t cathode);
62 TPad *Pad() {return fPad;}
63 TObjArray *Points() {return fPoints;}
64 TObjArray *Phits() {return fPhits;}
65 TObjArray *Rpoints() {return fRpoints;}
66 virtual void Paint(Option_t *option="");
67 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
68 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
69 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} // *MENU*
70 virtual void SetRange(Float_t rrange=250., Float_t zrange=1050.); // *MENU*
71 virtual void SetEvent(Int_t newevent=0); // *MENU*
72 virtual void SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
73 virtual void SetPickMode();
74 virtual void SetZoomMode();
75 virtual void ShowNextEvent(Int_t delta=1);
76 virtual void UnZoom(); // *MENU*
77 virtual void ResetPoints();
78 virtual void ResetPhits();
79 virtual void ResetRpoints();
80 virtual void NextChamber(Int_t delta=1);
81 virtual void NextCathode();
83 AliMUONDisplay& operator = (const AliMUONDisplay& rhs);
87 Int_t fEvent; // Current event
88 Int_t fChamber; // Current Chamber
89 Int_t fCathode; // Current cathode plane
90 Bool_t fDrawClusters; //Flag True if Clusters to be drawn
91 Bool_t fDrawCoG; //Flag True if CoG to be drawn
93 Int_t fClustersCuts; //Number of clusters surviving cuts
94 TPad *fColPad; //Pointer to the colors pad
95 TObjArray *fPoints; //Array of points for each cathode
96 TObjArray *fPhits; //Array of hit points for each chamber
97 TObjArray *fRpoints; //Array of cog points for each cathode
98 Int_t fNextCathode; //Flagging next cathode
100 AliLoader* fLoader; //! MUON loader to get data
101 AliMUONData* fMUONData; //! Data container for MUON subsystem
103 ClassDef(AliMUONDisplay, 0) //Utility class to display MUON events