]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONdisplay.h
This commit was generated by cvs2svn to compensate for changes in r1018,
[u/mrichter/AliRoot.git] / MUON / AliMUONdisplay.h
CommitLineData
fe4da5cc 1#ifndef AliMUONdisplay_H
2#define AliMUONdisplay_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
fe4da5cc 7
8//////////////////////////////////////////////////////////////////////////
9// //
10// AliDisplay //
11// //
12// Utility class to display ALice outline, tracks, hits,.. //
13// //
14//////////////////////////////////////////////////////////////////////////
15
16//#ifndef ROOT_TObject
17#include <TObject.h>
18//#endif
19#include "AliDisplay.h"
20
21class TCanvas;
22class TPad;
23class TList;
24class TSlider;
25class TButton;
26class TArc;
27
28const Int_t kMAXZOOM = 20;
29
30class AliMUONdisplay : /*splaypublic TObject,*/ public AliDisplay {
31
32private:
a897a37a 33 Int_t fEvent;
fe4da5cc 34 Int_t fChamber;
35 Int_t fCathode;
36 Int_t fZoomMode; //=1 if in zoom mode
37
38 Bool_t fDrawClusters; //Flag True if Clusters to be drawn
a897a37a 39 Bool_t fDrawCoG; //Flag True if CoG to be drawn
40 Bool_t fDrawCathCor; //Flag True if correlated point
41 //to be drawn
fe4da5cc 42 Float_t fTheta; //Viewing angle theta
43 Float_t fPhi; //Viewing angle phi
44 Float_t fPsi; //Viewving angle psi (rotation on display)
45 // Float_t fRzone; //
46 Float_t fRrange; //Size of view in R
47 Float_t fZrange; //Size of view along Z
48 Float_t fZoomX0[20]; //Low x range of zoom number i
49 Float_t fZoomY0[20]; //Low y range of zoom number i
50 Float_t fZoomX1[20]; //High x range of zoom number i
51 Float_t fZoomY1[20]; //High y range of zoom number i
52 Int_t fZooms; //Number of zooms
53 Int_t fHitsCuts; //Number of hits surviving cuts
54 Int_t fClustersCuts; //Number of clusters surviving cuts
55 TCanvas *fCanvas; //Pointer to the display canvas
56 TPad *fTrigPad; //Pointer to the trigger pad
57 TPad *fColPad; //Pointer to the colors pad
58 TPad *fButtons; //Pointer to the buttons pad
59 TPad *fPad; //Pointer to the event display main pad
60 TSlider *fRangeSlider; //Range slider
61 TButton *fPickButton; //Button to activate Pick mode
62 TButton *fZoomButton; //Button to activate Zoom mode
63 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
64 TObjArray *fPoints; //Array of points for each cathode
65 TObjArray *fPhits; //Array of hit points for each chamber
a897a37a 66 TObjArray *fRpoints; //Array of cog points for each cathode
67 TObjArray *fR2points; //Array of cog points for each cathode
68 TObjArray *fCpoints; //Array of correlated points for each first cathode
fe4da5cc 69public:
70 AliMUONdisplay();
71 AliMUONdisplay(Int_t size);
72 virtual ~AliMUONdisplay();
73 virtual void Clear(Option_t *option="");
74 virtual void DisplayButtons();
75 virtual void CreateColors();
76 virtual void DisplayColorScale();
77 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
78 virtual void Draw(Option_t *option="");
79 virtual void DrawClusters();
80 virtual void DrawHits();
a897a37a 81 virtual void DrawCoG();
82 virtual void DrawCoG2();
83 virtual void DrawCathCor();
84
fe4da5cc 85 virtual void DrawTitle(Option_t *option="");
86 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
87 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
88 Int_t GetZoomMode() {return fZoomMode;}
89 Int_t GetChamber() {return fChamber;}
90 Int_t GetCathode() {return fCathode;}
91 virtual void LoadDigits(Int_t chamber, Int_t cathode);
92 virtual void LoadHits(Int_t chamber);
a897a37a 93 virtual void LoadCoG(Int_t chamber, Int_t cathode);
94 virtual void LoadCoG2(Int_t chamber, Int_t cathode);
95 virtual void LoadCathCor(Int_t chamber);
fe4da5cc 96 TPad *Pad() {return fPad;}
97 TObjArray *Points() {return fPoints;}
98 TObjArray *Phits() {return fPhits;}
a897a37a 99 TObjArray *Rpoints() {return fRpoints;}
100 TObjArray *R2points() {return fR2points;}
101 TObjArray *Cpoints() {return fCpoints;}
fe4da5cc 102 virtual void Paint(Option_t *option="");
103 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
104 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
a897a37a 105 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} // *MENU*
106 virtual void SetDrawCathCor(Bool_t draw=kTRUE) {fDrawCathCor=draw;} // *MENU*
107 virtual void SetRange(Float_t rrange=250., Float_t zrange=1050.); // *MENU*
108 virtual void SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
fe4da5cc 109 virtual void SetPickMode();
110 virtual void SetZoomMode();
111 virtual void ShowNextEvent(Int_t delta=1);
112 virtual void UnZoom(); // *MENU*
113 virtual void ResetPoints();
114 virtual void ResetPhits();
a897a37a 115 virtual void ResetRpoints();
116 virtual void ResetR2points();
117 virtual void ResetCpoints();
fe4da5cc 118
119 ClassDef(AliMUONdisplay, 0) //Utility class to display MUON clusters...
120};
121
122#endif