Adding makefile for Darwin and XLC compiler
[u/mrichter/AliRoot.git] / RICH / AliRICHDisplay.h
CommitLineData
237c933d 1#ifndef ALIRICHDISPLAY_H
2#define ALIRICHDISPLAY_H
8278a469 3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//////////////////////////////////////////////////////////////////////////
10// //
11// AliDisplay //
12// //
13// Utility class to display ALice outline, tracks, hits,.. //
14// //
15//////////////////////////////////////////////////////////////////////////
16
17//#ifndef ROOT_TObject
8278a469 18#include <TPolyMarker3D.h>
19#include <TAttLine.h>
20#include <TAtt3D.h>
21
22//#endif
23#include "AliDisplay.h"
24
2c5b6824 25
8278a469 26class TCanvas;
27class TPad;
28class TList;
29class TSlider;
30class TButton;
31class TArc;
32
33class AliRICHEllipse;
34
35const Int_t kMAXZOOM = 20;
36
237c933d 37class AliRICHDisplay : public AliDisplay {
8278a469 38 public:
39 AliRICHDisplay();
40 AliRICHDisplay(Int_t size);
41 virtual ~AliRICHDisplay();
42 virtual void Clear(Option_t *option="");
43 virtual void DisplayButtons();
44 virtual void CreateColors();
45 virtual void DisplayColorScale();
46 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
47 virtual void Draw(Option_t *option="");
48 virtual void DrawCoG();
49 virtual void DrawRecHits();
50 virtual void DrawCerenkovs();
51 virtual void DrawClusters();
52 virtual void DrawHits();
53 virtual void DrawTitle(Option_t *option="");
54 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
55 virtual void DrawViewGL();
56 virtual void DrawViewX3D();
57 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
58 Int_t GetZoomMode() {return fZoomMode;}
59 Int_t GetChamber() {return fChamber;}
60 Int_t GetCathode() {return fCathode;}
61 virtual void LoadDigits();
62 virtual void LoadRecHits(Int_t chamber, Int_t cathode);
63 virtual void LoadCoG(Int_t chamber, Int_t cathode);
64 virtual void LoadCerenkovs(Int_t chamber);
65 virtual void LoadHits(Int_t chamber);
66 TPad *Pad() {return fPad;}
67 TObjArray *Points() {return fPoints;}
68 TObjArray *Phits() {return fPhits;}
69 TObjArray *Rpoints() {return fRpoints;}
70 TObjArray *PCerenkovs() {return fPCerenkovs;}
71 virtual void Paint(Option_t *option="");
72 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
73 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} // *MENU*
74 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
75 virtual void SetRange(Float_t rrange=250, Float_t zrange=1050); // *MENU*
76 virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0);
77 virtual void SetPickMode();
78 virtual void SetZoomMode();
79 virtual void ShowNextEvent(Int_t delta=1);
80 virtual void UnZoom(); // *MENU*
81 virtual void ResetPoints();
82 virtual void ResetRpoints();
83 virtual void ResetRecpoints();
84 virtual void ResetPhits();
85 virtual void ResetPCerenkovs();
237c933d 86 private:
87 Int_t fChamber; //Chamber number
88 Int_t fCathode; //Cathode number
237c933d 89 Bool_t fDrawClusters; //Flag True if Clusters to be drawn
90 Bool_t fDrawCoG; //Flag True if CoG to be drawn
91 Bool_t fDrawRecHits; //Flag True if rec hits to be drawn
92 Float_t fTheta; //Viewing angle theta
93 Float_t fPhi; //Viewing angle phi
237c933d 94 Int_t fClustersCuts; //Number of clusters surviving cuts
237c933d 95 TPad *fColPad; //Pointer to the colors pad
237c933d 96 TObjArray *fPoints; //Array of points for each cathode
97 TObjArray *fPhits; //Array of hit points for each chamber
98 TObjArray *fPCerenkovs; //Array of cerenkov hits for each chamber
99 TObjArray *fRpoints; //Array of cog points for each cathode
100 TObjArray *fRecpoints; //Array of rec points for each cathode
101 ClassDef(AliRICHDisplay, 0) //Utility class to display RICH clusters...
8278a469 102
237c933d 103};
8278a469 104#endif
105