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