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