]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDisplay.h
Redesigning Original tracking classes (Philippe Pillot)
[u/mrichter/AliRoot.git] / MUON / AliMUONDisplay.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONDISPLAY_H
2#define ALIMUONDISPLAY_H
3
3da30618 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
30178c30 8// Revision of includes 07/05/2004
fe4da5cc 9
692de412 10/// \ingroup base
11/// \class AliMUONDisplay
12/// \brief Utility class to display MUON events
13
fe4da5cc 14#include "AliDisplay.h"
15
307d9d04 16class AliLoader;
d226f81b 17class AliMUONData;
572d5bb2 18class AliMUONTrack;
fe4da5cc 19class TCanvas;
20class TPad;
21class TList;
22class TSlider;
23class TButton;
24class TArc;
25
30178c30 26class AliMUONDisplay : public AliDisplay
27{
fe4da5cc 28public:
a9e2aefa 29 AliMUONDisplay();
307d9d04 30 AliMUONDisplay(Int_t size, AliLoader * loader=0x0);
a9e2aefa 31
32 virtual ~AliMUONDisplay();
fe4da5cc 33 virtual void Clear(Option_t *option="");
34 virtual void DisplayButtons();
30178c30 35 virtual void CreateColors() const;
fe4da5cc 36 virtual void DisplayColorScale();
37 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
572d5bb2 38 virtual void DrawReco(Option_t *option="");
39 virtual void PrintTrack(Int_t iRecTracks, AliMUONTrack *recTrack);
40 virtual void PrintKinematics();
fe4da5cc 41 virtual void Draw(Option_t *option="");
572d5bb2 42 virtual void DrawChamber();
fe4da5cc 43 virtual void DrawClusters();
44 virtual void DrawHits();
a897a37a 45 virtual void DrawCoG();
572d5bb2 46 virtual void DrawTracks();
a9e2aefa 47 virtual void DrawSegmentation();
fe4da5cc 48 virtual void DrawTitle(Option_t *option="");
49 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
572d5bb2 50 virtual void DrawGlobalView(Float_t theta, Float_t phi, Float_t psi=0);
5398f946 51 /// Not implemented function
a9e2aefa 52 virtual void DrawP(Float_t,Float_t,Float_t,Float_t,Float_t,Int_t){}
fe4da5cc 53 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
5398f946 54 Int_t GetZoomMode() const {return fZoomMode;} ///< Return zoom mode
55 Int_t GetChamber() const {return fChamber;} ///< Return current chamber
56 Int_t GetCathode() const {return fCathode;} ///< Return current cathode
d226f81b 57
5398f946 58 AliMUONData* GetMUONData() {return fMUONData;} ///< Return MUON data
59 AliLoader* GetLoader() {return fLoader;} ///< Return loader
d226f81b 60
fe4da5cc 61 virtual void LoadDigits(Int_t chamber, Int_t cathode);
62 virtual void LoadHits(Int_t chamber);
a897a37a 63 virtual void LoadCoG(Int_t chamber, Int_t cathode);
572d5bb2 64 virtual void LoadTracks();
5398f946 65 TPad *Pad() {return fPad;} ///< Return pad
66 TObjArray *Points() {return fPoints;} ///< Return points for each cathode
67 TObjArray *Phits() {return fPhits;} ///< Return hit points for each chamber
68 TObjArray *Rpoints() {return fRpoints;} ///< Return cog points for each cathode
fe4da5cc 69 virtual void Paint(Option_t *option="");
70 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} // *MENU*
a9e2aefa 71 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); // *MENU*
72 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} // *MENU*
572d5bb2 73 virtual void SetDrawTracks(Bool_t draw=kTRUE) {fDrawTracks=draw;} // *MENU*
a9e2aefa 74 virtual void SetRange(Float_t rrange=250., Float_t zrange=1050.); // *MENU*
75 virtual void SetEvent(Int_t newevent=0); // *MENU*
a897a37a 76 virtual void SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
fe4da5cc 77 virtual void SetPickMode();
78 virtual void SetZoomMode();
79 virtual void ShowNextEvent(Int_t delta=1);
a9e2aefa 80 virtual void UnZoom(); // *MENU*
fe4da5cc 81 virtual void ResetPoints();
82 virtual void ResetPhits();
a897a37a 83 virtual void ResetRpoints();
a9e2aefa 84 virtual void NextChamber(Int_t delta=1);
85 virtual void NextCathode();
86 void Trigger();
30178c30 87
88protected:
89 AliMUONDisplay(const AliMUONDisplay& display);
90 AliMUONDisplay& operator = (const AliMUONDisplay& rhs);
a9e2aefa 91
92
93private:
18b6b8c7 94 Int_t fEvent; ///< Current event
95 Int_t fChamber; ///< Current Chamber
96 Int_t fCathode; ///< Current cathode plane
97 Bool_t fDrawClusters; ///< Flag True if Clusters to be drawn
98 Bool_t fDrawCoG; ///< Flag True if CoG to be drawn
99 Bool_t fDrawTracks; ///< Flag True if tracks to be drawn
572d5bb2 100
18b6b8c7 101 Int_t fClustersCuts; ///< Number of clusters surviving cuts
102 TPad *fColPad; ///< Pointer to the colors pad
103 TObjArray *fPoints; ///< Array of points for each cathode
104 TObjArray *fPhits; ///< Array of hit points for each chamber
105 TObjArray *fRpoints; ///< Array of cog points for each cathode
106 Int_t fNextCathode; ///< Flagging next cathode
107
108 AliLoader* fLoader; //!< MUON loader to get data
109 AliMUONData* fMUONData; //!< Data container for MUON subsystem
307d9d04 110
a1001283 111 ClassDef(AliMUONDisplay, 0) //Utility class to display MUON events
fe4da5cc 112};
113
114#endif
a9e2aefa 115
116
117
118
119
120
121
122