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