Casting to eliminate constructor ambiguity
[u/mrichter/AliRoot.git] / STEER / AliDisplay.h
CommitLineData
fe4da5cc 1#ifndef AliDisplay_H
2#define AliDisplay_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
fe4da5cc 16#include <TObject.h>
fe4da5cc 17
18class TCanvas;
19class TPad;
20class TList;
21class TSlider;
22class TButton;
23class TArc;
24
25const Int_t kMAXZOOMS = 20;
26
27class AliDisplay : public TObject {
28
c046b2e3 29protected:
fe4da5cc 30 Int_t fZoomMode; //=1 if in zoom mode
31 Bool_t fDrawAllViews; //Flag True if AllViews selected
32 Bool_t fDrawParticles; //Flag True if particles to be drawn
33 Bool_t fDrawHits; //Flag True if Hits to be drawn
34 Float_t fPTcut; //PT cut to display objects
35 Float_t fTheta; //Viewing angle theta
36 Float_t fPhi; //Viewing angle phi
37 Float_t fPsi; //Viewving angle psi (rotation on display)
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 TCanvas *fCanvas; //Pointer to the display canvas
47 TPad *fTrigPad; //Pointer to the trigger pad
48 TPad *fCutPad; //Pointer to the momentum cut slider pad
49 TPad *fEtaPad; //Pointer to the rapidity cut slider pad
50 TPad *fButtons; //Pointer to the buttons pad
51 TPad *fPad; //Pointer to the event display main pad
52 TSlider *fCutSlider; //Momentum cut slider
53 TSlider *fEtaSlider; //Rapidity slider
54 TSlider *fRangeSlider; //Range slider
55 TButton *fPickButton; //Button to activate Pick mode
56 TButton *fZoomButton; //Button to activate Zoom mode
57 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
58 TList *fFruits; //List for fruits
59
60public:
61 AliDisplay();
62 AliDisplay(Int_t size);
63 virtual ~AliDisplay();
64 virtual Bool_t AllViews() {return fDrawAllViews;}
65 virtual void Clear(Option_t *option="");
66 TSlider *CutSlider() {return fCutSlider;}
67 virtual void ShowTrack(Int_t track_number); // *MENU*
68 virtual void HideTrack(Int_t track_number); // *MENU*
69 virtual void DisableDetector(const char *name); // *MENU*
70 virtual void DisplayButtons();
71 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
72 virtual void Draw(Option_t *option="");
73 virtual void DrawAllViews();
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 DrawViewGL();
78 virtual void DrawViewX3D();
79 virtual void EnableDetector(const char *name); // *MENU*
80 TSlider *EtaSlider() {return fEtaSlider;}
81 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
82 Int_t GetZoomMode() {return fZoomMode;}
83 virtual void LoadPoints();
84 TPad *Pad() {return fPad;}
85 virtual void Paint(Option_t *option="");
86 Float_t PTcut() {return fPTcut;}
87 virtual void SetDrawHits(Bool_t draw=kTRUE) {fDrawHits=draw;} // *MENU*
88 virtual void SetDrawParticles(Bool_t draw=kTRUE) {fDrawParticles=draw;} // *MENU*
89 virtual void SetPTcut(Float_t ptcut=1.5); // *MENU*
90 virtual void SetRange(Float_t rrange=350, Float_t zrange=350); // *MENU*
91 virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0);
92 virtual void SetPickMode();
93 virtual void SetZoomMode();
94 virtual void ShowNextEvent(Int_t delta=1);
95 virtual void UnZoom(); // *MENU*
96
97 ClassDef(AliDisplay, 0) //Utility class to display ALICE outline, tracks, hits,..
98};
99
100#endif