This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MUON / AliMUONdisplay.h
CommitLineData
fe4da5cc 1#ifndef AliMUONdisplay_H
2#define AliMUONdisplay_H
3
4//////////////////////////////////////////////////////////////////////////
5// //
6// AliDisplay //
7// //
8// Utility class to display ALice outline, tracks, hits,.. //
9// //
10//////////////////////////////////////////////////////////////////////////
11
12//#ifndef ROOT_TObject
13#include <TObject.h>
14//#endif
15#include "AliDisplay.h"
16
17class TCanvas;
18class TPad;
19class TList;
20class TSlider;
21class TButton;
22class TArc;
23
24const Int_t kMAXZOOM = 20;
25
26class AliMUONdisplay : /*splaypublic TObject,*/ public AliDisplay {
27
28private:
29 Int_t fChamber;
30 Int_t fCathode;
31 Int_t fZoomMode; //=1 if in zoom mode
32
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 fRzone; //
38 Float_t fRrange; //Size of view in R
39 Float_t fZrange; //Size of view along Z
40 Float_t fZoomX0[20]; //Low x range of zoom number i
41 Float_t fZoomY0[20]; //Low y range of zoom number i
42 Float_t fZoomX1[20]; //High x range of zoom number i
43 Float_t fZoomY1[20]; //High y range of zoom number i
44 Int_t fZooms; //Number of zooms
45 Int_t fHitsCuts; //Number of hits surviving cuts
46 Int_t fClustersCuts; //Number of clusters surviving cuts
47 TCanvas *fCanvas; //Pointer to the display canvas
48 TPad *fTrigPad; //Pointer to the trigger pad
49 TPad *fColPad; //Pointer to the colors pad
50 TPad *fButtons; //Pointer to the buttons pad
51 TPad *fPad; //Pointer to the event display main pad
52 TSlider *fRangeSlider; //Range slider
53 TButton *fPickButton; //Button to activate Pick mode
54 TButton *fZoomButton; //Button to activate Zoom mode
55 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
56 TObjArray *fPoints; //Array of points for each cathode
57 TObjArray *fPhits; //Array of hit points for each chamber
58public:
59 AliMUONdisplay();
60 AliMUONdisplay(Int_t size);
61 virtual ~AliMUONdisplay();
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 DrawClusters();
69 virtual void DrawHits();
70 virtual void DrawTitle(Option_t *option="");
71 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
72 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
73 Int_t GetZoomMode() {return fZoomMode;}
74 Int_t GetChamber() {return fChamber;}
75 Int_t GetCathode() {return fCathode;}
76 virtual void LoadDigits(Int_t chamber, Int_t cathode);
77 virtual void LoadHits(Int_t chamber);
78 TPad *Pad() {return fPad;}
79 TObjArray *Points() {return fPoints;}
80 TObjArray *Phits() {return fPhits;}
81 virtual void Paint(Option_t *option="");
82 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
83 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
84 virtual void SetRange(Float_t rrange=250, Float_t zrange=1050); // *MENU*
85 virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0);
86 virtual void SetPickMode();
87 virtual void SetZoomMode();
88 virtual void ShowNextEvent(Int_t delta=1);
89 virtual void UnZoom(); // *MENU*
90 virtual void ResetPoints();
91 virtual void ResetPhits();
92
93 ClassDef(AliMUONdisplay, 0) //Utility class to display MUON clusters...
94};
95
96#endif