]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDisplay.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONDisplay.h
index e42e7b312aec2a3a9fb102e21d7ac6e45e3ed92a..126d05218019e46081944733a752956b8f26083a 100644 (file)
@@ -5,21 +5,18 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+// Revision of includes 07/05/2004
+
+/// \ingroup evaluation
+/// \class AliMUONDisplay
+/// \brief Utility class to display MUON events
 
-//////////////////////////////////////////////////////////////////////////
-//                                                                      //
-// AliDisplay                                                           //
-//                                                                      //
-// Utility class to display ALice outline, tracks, hits,..              //
-//                                                                      //
-//////////////////////////////////////////////////////////////////////////
-
-//#ifndef ROOT_TObject
-#include <TObject.h>
-//#endif
 #include "AliDisplay.h"
 
 class AliLoader;
+class AliMUONSimData;
+class AliMUONRecData;
+class AliMUONTrack;
 class TCanvas;
 class TPad;
 class TList;
@@ -27,73 +24,97 @@ class TSlider;
 class TButton;
 class TArc;
 
-class AliMUONDisplay : /*splaypublic TObject,*/ public AliDisplay {
+class AliMUONDisplay : public AliDisplay 
+{
 public:
                      AliMUONDisplay();
-                     AliMUONDisplay(Int_t size, AliLoader * loader=0x0);
-                    AliMUONDisplay(const AliMUONDisplay& display);
+                     AliMUONDisplay(Int_t size, 
+                                    AliLoader * simLoader, AliLoader * recLoader);
                     
    virtual          ~AliMUONDisplay();
    virtual void      Clear(Option_t *option="");
    virtual void      DisplayButtons();
-   virtual void      CreateColors();
+   virtual void      CreateColors() const;
    virtual void      DisplayColorScale();
    virtual Int_t     DistancetoPrimitive(Int_t px, Int_t py);
+   virtual void      DrawReco(Option_t *option="");
+   virtual void      PrintTrack(Int_t iRecTracks, AliMUONTrack *recTrack); 
+   virtual void      PrintKinematics(); 
    virtual void      Draw(Option_t *option="");
+   virtual void      DrawChamber();
    virtual void      DrawClusters();
    virtual void      DrawHits();
    virtual void      DrawCoG();
+   virtual void      DrawTracks();
    virtual void      DrawSegmentation();
    virtual void      DrawTitle(Option_t *option="");
    virtual void      DrawView(Float_t theta, Float_t phi, Float_t psi=0);
+   virtual void      DrawGlobalView(Float_t theta, Float_t phi, Float_t psi=0);
+                     /// Not implemented function
    virtual void      DrawP(Float_t,Float_t,Float_t,Float_t,Float_t,Int_t){}
    virtual void      ExecuteEvent(Int_t event, Int_t px, Int_t py);
-   Int_t             GetZoomMode() {return fZoomMode;}
-   Int_t             GetChamber() {return fChamber;}
-   Int_t             GetCathode() {return fCathode;}
-   AliLoader*        GetLoader()  {return fLoader;}
+   Int_t             GetZoomMode() const {return fZoomMode;}  ///< Return zoom mode
+   Int_t             GetChamber() const {return fChamber;}    ///< Return current chamber
+   Int_t             GetCathode() const {return fCathode;}    ///< Return current cathode
+
+   AliMUONSimData*   GetMUONSimData() {return fMUONSimData;}        ///< Return MUON data
+   AliMUONRecData*   GetMUONRecData() {return fMUONRecData;}        ///< Return MUON data
+   AliLoader*        GetSimLoader()  {return fSimLoader;}           ///< Return loader
+   AliLoader*        GetRecLoader()  {return fRecLoader;}           ///< Return loader
+
    virtual void      LoadDigits(Int_t chamber, Int_t cathode);
    virtual void      LoadHits(Int_t chamber);
    virtual void      LoadCoG(Int_t chamber, Int_t cathode);
-   TPad             *Pad() {return fPad;}
-   TObjArray        *Points() {return fPoints;}
-   TObjArray        *Phits() {return fPhits;}
-   TObjArray        *Rpoints() {return fRpoints;}
+   virtual void      LoadTracks();
+   TPad             *Pad() {return fPad;}         ///< Return pad
+   TObjArray        *Points() {return fPoints;}   ///< Return points for each cathode
+   TObjArray        *Phits() {return fPhits;}     ///< Return hit points for each chamber
+   TObjArray        *Rpoints() {return fRpoints;} ///< Return cog points for each cathode
    virtual void      Paint(Option_t *option="");
-   virtual void      SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;}   // *MENU*
-   virtual void      SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1);    // *MENU*
-   virtual void      SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;}             // *MENU*
-   virtual void      SetRange(Float_t rrange=250., Float_t zrange=1050.);       // *MENU*
-   virtual void      SetEvent(Int_t newevent=0);                                // *MENU*   
+   virtual void      SetDrawClusters(Bool_t draw=kTRUE) {fDrawClusters=draw;}   ///< Set flag to draw clusters
+   virtual void      SetChamberAndCathode(Int_t chamber=1, Int_t cathode=1);    ///< Set chamber and cathod
+   virtual void      SetDrawCoG(Bool_t draw=kTRUE) {fDrawCoG=draw;}             ///< Set flag to draw CoG 
+   virtual void      SetDrawTracks(Bool_t draw=kTRUE) {fDrawTracks=draw;}       ///< Set flag to draw tracks
+   virtual void      SetRange(Float_t rrange=250., Float_t zrange=1050.);      
+   virtual void      SetEvent(Int_t newevent=0);                                  
    virtual void      SetView(Float_t theta=0, Float_t phi=-90, Float_t psi=0);
    virtual void      SetPickMode();
    virtual void      SetZoomMode();
    virtual void      ShowNextEvent(Int_t delta=1);
-   virtual void      UnZoom();                                                   // *MENU* 
+   virtual void      UnZoom();                                                
    virtual void      ResetPoints();
    virtual void      ResetPhits();
    virtual void      ResetRpoints();
    virtual void      NextChamber(Int_t delta=1);
    virtual void      NextCathode();
            void      Trigger();
-          AliMUONDisplay& operator = (const AliMUONDisplay& rhs);
+
+protected:
+                     /// Not implemented
+                    AliMUONDisplay(const AliMUONDisplay& display);
+                     /// Not implemented
+   AliMUONDisplay&   operator = (const AliMUONDisplay& rhs);
           
 
 private:
-   Int_t             fEvent;                // Current event
-   Int_t             fChamber;              // Current Chamber
-   Int_t             fCathode;              // Current cathode plane
-   Bool_t            fDrawClusters;         //Flag True if Clusters to be drawn
-   Bool_t            fDrawCoG;              //Flag True if CoG to be drawn
-                                            //to be drawn
-   Int_t             fClustersCuts;         //Number of clusters surviving cuts
-   TPad             *fColPad;               //Pointer to the colors pad 
-   TObjArray        *fPoints;               //Array of points for each cathode
-   TObjArray        *fPhits;                //Array of hit points for each chamber
-   TObjArray        *fRpoints;              //Array of cog points for each cathode
-   Int_t            fNextCathode;           //Flagging next cathode
-   AliLoader*       fLoader;                //! MUON loader to get data
-
+   Int_t             fEvent;                ///< Current event
+   Int_t             fChamber;              ///< Current Chamber
+   Int_t             fCathode;              ///< Current cathode plane
+   Bool_t            fDrawClusters;         ///< Flag True if Clusters to be drawn
+   Bool_t            fDrawCoG;              ///< Flag True if CoG to be drawn
+   Bool_t            fDrawTracks;           ///< Flag True if tracks to be drawn
+                                           
+   Int_t             fClustersCuts;         ///< Number of clusters surviving cuts
+   TPad             *fColPad;               ///< Pointer to the colors pad 
+   TObjArray        *fPoints;               ///< Array of points for each cathode
+   TObjArray        *fPhits;                ///< Array of hit points for each chamber
+   TObjArray        *fRpoints;              ///< Array of cog points for each cathode
+   Int_t            fNextCathode;           ///< Flagging next cathode
+
+   AliLoader*        fSimLoader;            //!< MUON loader to get data
+   AliLoader*        fRecLoader;            //!< MUON loader to get data
+   AliMUONSimData*   fMUONSimData;          //!< Data container for MUON subsystem 
+   AliMUONRecData*   fMUONRecData;          //!< Data container for MUON subsystem 
 
    ClassDef(AliMUONDisplay, 0)   //Utility class to display MUON events
 };