Improved common vertex handling.
[u/mrichter/AliRoot.git] / STEER / AliDisplay.h
CommitLineData
aee8290b 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
aee8290b 25static const Int_t kMAXZOOMS = 20;
fe4da5cc 26
27class AliDisplay : public TObject {
fe4da5cc 28
29public:
30 AliDisplay();
31 AliDisplay(Int_t size);
aee8290b 32 AliDisplay(const AliDisplay &disp);
fe4da5cc 33 virtual ~AliDisplay();
94de3818 34 virtual Bool_t AllViews() const {return fDrawAllViews;}
fe4da5cc 35 virtual void Clear(Option_t *option="");
36 TSlider *CutSlider() {return fCutSlider;}
aee8290b 37 virtual void ShowTrack(Int_t trackNumber); // *MENU*
116cbefd 38 virtual void HideTrack(Int_t trackNumber) const; // *MENU*
ef42d733 39 void Copy(AliDisplay &disp) const;
fe4da5cc 40 virtual void DisableDetector(const char *name); // *MENU*
41 virtual void DisplayButtons();
42 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
43 virtual void Draw(Option_t *option="");
44 virtual void DrawAllViews();
45 virtual void DrawHits();
46 virtual void DrawTitle(Option_t *option="");
47 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
48 virtual void DrawViewGL();
49 virtual void DrawViewX3D();
50 virtual void EnableDetector(const char *name); // *MENU*
51 TSlider *EtaSlider() {return fEtaSlider;}
52 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
94de3818 53 Int_t GetZoomMode() const {return fZoomMode;}
fe4da5cc 54 virtual void LoadPoints();
94de3818 55 TPad *Pad() const {return fPad;}
fe4da5cc 56 virtual void Paint(Option_t *option="");
94de3818 57 Float_t PTcut() const {return fPTcut;}
fe4da5cc 58 virtual void SetDrawHits(Bool_t draw=kTRUE) {fDrawHits=draw;} // *MENU*
59 virtual void SetDrawParticles(Bool_t draw=kTRUE) {fDrawParticles=draw;} // *MENU*
60 virtual void SetPTcut(Float_t ptcut=1.5); // *MENU*
61 virtual void SetRange(Float_t rrange=350, Float_t zrange=350); // *MENU*
62 virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0);
63 virtual void SetPickMode();
64 virtual void SetZoomMode();
65 virtual void ShowNextEvent(Int_t delta=1);
66 virtual void UnZoom(); // *MENU*
ef42d733 67 AliDisplay& operator= (const AliDisplay &disp);
fe4da5cc 68
aab9c8d5 69 void SetTracksToDisplay(Int_t *tracks, Int_t n); // set tracks to display
aee8290b 70protected:
71 Int_t fZoomMode; //=1 if in zoom mode
72 Bool_t fDrawAllViews; //Flag True if AllViews selected
73 Bool_t fDrawParticles; //Flag True if particles to be drawn
74 Bool_t fDrawHits; //Flag True if Hits to be drawn
75 Float_t fPTcut; //PT cut to display objects
76 Float_t fTheta; //Viewing angle theta
77 Float_t fPhi; //Viewing angle phi
78 Float_t fPsi; //Viewving angle psi (rotation on display)
79 Float_t fRrange; //Size of view in R
80 Float_t fZrange; //Size of view along Z
81 Float_t fZoomX0[20]; //Low x range of zoom number i
82 Float_t fZoomY0[20]; //Low y range of zoom number i
83 Float_t fZoomX1[20]; //High x range of zoom number i
84 Float_t fZoomY1[20]; //High y range of zoom number i
85 Int_t fZooms; //Number of zooms
86 Int_t fHitsCuts; //Number of hits surviving cuts
87 TCanvas *fCanvas; //Pointer to the display canvas
88 TPad *fTrigPad; //Pointer to the trigger pad
89 TPad *fCutPad; //Pointer to the momentum cut slider pad
90 TPad *fEtaPad; //Pointer to the rapidity cut slider pad
91 TPad *fButtons; //Pointer to the buttons pad
92 TPad *fPad; //Pointer to the event display main pad
93 TSlider *fCutSlider; //Momentum cut slider
94 TSlider *fEtaSlider; //Rapidity slider
95 TSlider *fRangeSlider; //Range slider
96 TButton *fPickButton; //Button to activate Pick mode
97 TButton *fZoomButton; //Button to activate Zoom mode
98 TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode
99 TList *fFruits; //List for fruits
100
aab9c8d5 101 Int_t *fTracksToDisplay; // array of tracks to display
102 Int_t fNTracksToDisplay; // number of tracks to display
fe4da5cc 103 ClassDef(AliDisplay, 0) //Utility class to display ALICE outline, tracks, hits,..
104};
105
106#endif