]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDisplay.h
Updated list of MUON libraries
[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
d8ff9220 10/// \ingroup evaluation
692de412 11/// \class AliMUONDisplay
12/// \brief Utility class to display MUON events
13
fe4da5cc 14#include "AliDisplay.h"
15
307d9d04 16class AliLoader;
d8ff9220 17class AliMUONSimData;
18class AliMUONRecData;
572d5bb2 19class AliMUONTrack;
fe4da5cc 20class TCanvas;
21class TPad;
22class TList;
23class TSlider;
24class TButton;
25class TArc;
26
30178c30 27class AliMUONDisplay : public AliDisplay
28{
fe4da5cc 29public:
a9e2aefa 30 AliMUONDisplay();
d8ff9220 31 AliMUONDisplay(Int_t size,
32 AliLoader * simLoader, AliLoader * recLoader);
a9e2aefa 33
34 virtual ~AliMUONDisplay();
fe4da5cc 35 virtual void Clear(Option_t *option="");
36 virtual void DisplayButtons();
30178c30 37 virtual void CreateColors() const;
fe4da5cc 38 virtual void DisplayColorScale();
39 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
572d5bb2 40 virtual void DrawReco(Option_t *option="");
41 virtual void PrintTrack(Int_t iRecTracks, AliMUONTrack *recTrack);
42 virtual void PrintKinematics();
fe4da5cc 43 virtual void Draw(Option_t *option="");
572d5bb2 44 virtual void DrawChamber();
fe4da5cc 45 virtual void DrawClusters();
46 virtual void DrawHits();
a897a37a 47 virtual void DrawCoG();
572d5bb2 48 virtual void DrawTracks();
a9e2aefa 49 virtual void DrawSegmentation();
fe4da5cc 50 virtual void DrawTitle(Option_t *option="");
51 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0);
572d5bb2 52 virtual void DrawGlobalView(Float_t theta, Float_t phi, Float_t psi=0);
5398f946 53 /// Not implemented function
a9e2aefa 54 virtual void DrawP(Float_t,Float_t,Float_t,Float_t,Float_t,Int_t){}
fe4da5cc 55 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
5398f946 56 Int_t GetZoomMode() const {return fZoomMode;} ///< Return zoom mode
57 Int_t GetChamber() const {return fChamber;} ///< Return current chamber
58 Int_t GetCathode() const {return fCathode;} ///< Return current cathode
d226f81b 59
d8ff9220 60 AliMUONSimData* GetMUONSimData() {return fMUONSimData;} ///< Return MUON data
61 AliMUONRecData* GetMUONRecData() {return fMUONRecData;} ///< Return MUON data
62 AliLoader* GetSimLoader() {return fSimLoader;} ///< Return loader
63 AliLoader* GetRecLoader() {return fRecLoader;} ///< Return loader
d226f81b 64
fe4da5cc 65 virtual void LoadDigits(Int_t chamber, Int_t cathode);
66 virtual void LoadHits(Int_t chamber);
a897a37a 67 virtual void LoadCoG(Int_t chamber, Int_t cathode);
572d5bb2 68 virtual void LoadTracks();
5398f946 69 TPad *Pad() {return fPad;} ///< Return pad
70 TObjArray *Points() {return fPoints;} ///< Return points for each cathode
71 TObjArray *Phits() {return fPhits;} ///< Return hit points for each chamber
72 TObjArray *Rpoints() {return fRpoints;} ///< Return cog points for each cathode
fe4da5cc 73 virtual void Paint(Option_t *option="");
71a2d3aa 74 virtual void SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;} ///< Set flag to draw clusters
75 virtual void SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1); ///< Set chamber and cathod
76 virtual void SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;} ///< Set flag to draw CoG
77 virtual void SetDrawTracks(Bool_t draw=kTRUE) {fDrawTracks=draw;} ///< Set flag to draw tracks
78 virtual void SetRange(Float_t rrange=250., Float_t zrange=1050.);
79 virtual void SetEvent(Int_t newevent=0);
a897a37a 80 virtual void SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
fe4da5cc 81 virtual void SetPickMode();
82 virtual void SetZoomMode();
83 virtual void ShowNextEvent(Int_t delta=1);
71a2d3aa 84 virtual void UnZoom();
fe4da5cc 85 virtual void ResetPoints();
86 virtual void ResetPhits();
a897a37a 87 virtual void ResetRpoints();
a9e2aefa 88 virtual void NextChamber(Int_t delta=1);
89 virtual void NextCathode();
90 void Trigger();
30178c30 91
92protected:
71a2d3aa 93 /// Not implemented
30178c30 94 AliMUONDisplay(const AliMUONDisplay& display);
71a2d3aa 95 /// Not implemented
30178c30 96 AliMUONDisplay& operator = (const AliMUONDisplay& rhs);
a9e2aefa 97
98
99private:
18b6b8c7 100 Int_t fEvent; ///< Current event
101 Int_t fChamber; ///< Current Chamber
102 Int_t fCathode; ///< Current cathode plane
103 Bool_t fDrawClusters; ///< Flag True if Clusters to be drawn
104 Bool_t fDrawCoG; ///< Flag True if CoG to be drawn
105 Bool_t fDrawTracks; ///< Flag True if tracks to be drawn
572d5bb2 106
18b6b8c7 107 Int_t fClustersCuts; ///< Number of clusters surviving cuts
108 TPad *fColPad; ///< Pointer to the colors pad
109 TObjArray *fPoints; ///< Array of points for each cathode
110 TObjArray *fPhits; ///< Array of hit points for each chamber
111 TObjArray *fRpoints; ///< Array of cog points for each cathode
112 Int_t fNextCathode; ///< Flagging next cathode
113
d8ff9220 114 AliLoader* fSimLoader; //!< MUON loader to get data
115 AliLoader* fRecLoader; //!< MUON loader to get data
116 AliMUONSimData* fMUONSimData; //!< Data container for MUON subsystem
117 AliMUONRecData* fMUONRecData; //!< Data container for MUON subsystem
307d9d04 118
a1001283 119 ClassDef(AliMUONDisplay, 0) //Utility class to display MUON events
fe4da5cc 120};
121
122#endif
a9e2aefa 123
124
125
126
127
128
129
130