AliFMDDisplay.h

Go to the documentation of this file.
00001 #ifndef AliFMDDISPLAY_H
00002 #define AliFMDDISPLAY_H
00003 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
00004  * reserved. 
00005  *
00006  * See cxx source for full Copyright notice                               
00007  */
00008 //___________________________________________________________________
00009 //
00010 // The classes defined here, are utility classes for reading in data
00011 // for the FMD.  They are  put in a seperate library to not polute the
00012 // normal libraries.  The classes are intended to be used as base
00013 // classes for customized class that do some sort of analysis on the
00014 // various types of data produced by the FMD. 
00015 //
00016 #include "AliFMDInput.h"
00017 class TObjArray;
00018 class TCanvas;
00019 class TPad;
00020 class TButton;
00021 
00022 //___________________________________________________________________
00027 class AliFMDDisplay : public AliFMDInput
00028 {
00029 public:
00032   AliFMDDisplay(const char* gAliceFile="galice.root");
00034   virtual ~AliFMDDisplay() {}
00037   static AliFMDDisplay* Instance();
00038 
00040   void  Continue() { fWait = kFALSE; }
00042   void  Zoom() { fZoomMode = kTRUE; }
00044   void  Pick() { fZoomMode = kFALSE; }
00049   void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
00054   Int_t DistancetoPrimitive(Int_t px, Int_t py);
00057   void  Paint(Option_t* option="") { (void)option; }
00058 
00061   virtual Bool_t Init();
00065   virtual Bool_t Begin(Int_t event);
00068   virtual Bool_t End();
00073   virtual Bool_t ProcessHit(AliFMDHit* hit, TParticle* p);
00077   virtual Bool_t ProcessDigit(AliFMDDigit* digit);
00081   virtual Bool_t ProcessRaw(AliFMDDigit* digit);
00085   virtual Bool_t ProcessRecPoint(AliFMDRecPoint* recpoint);
00091   virtual Int_t  LookupColor(Float_t x, Float_t max)  const;
00092 protected:
00093   static AliFMDDisplay* fgInstance; // Static instance 
00094   Bool_t                fWait;      // Wait until user presses `Continue'
00095   TObjArray*            fMarkers;   // Cache of markers
00096   TObjArray*            fHits;      // Cache of `hits'
00097   TCanvas*              fCanvas;    // Canvas to draw in 
00098   TPad*                 fPad;       // View pad. 
00099   TButton*              fButton;    // Continue button
00100   TButton*              fZoom;      // Zoom button
00101   TButton*              fPick;      // Pick button
00102   Bool_t                fZoomMode;  // Whether we're in Zoom mode
00103   Float_t               fX0;        // X at lower left corner or range 
00104   Float_t               fY0;        // Y at lower left corner or range 
00105   Float_t               fX1;        // X at upper right corner or range 
00106   Float_t               fY1;        // Y at upper right corner or range 
00107   Int_t                 fXPixel;    // X pixel of mark
00108   Int_t                 fYPixel;    // Y pixel of mark
00109   Int_t                 fOldXPixel; // Old x pixel of mark
00110   Int_t                 fOldYPixel; // Old y pixel of mark
00111   Bool_t                fLineDrawn; // Whether we're drawing a box
00112   ClassDef(AliFMDDisplay,0)  // FMD specialised event display
00113 };
00114 
00115 #endif
00116 //____________________________________________________________________
00117 //
00118 // Local Variables:
00119 //   mode: C++
00120 // End:
00121 //
00122 // EOF
00123 //

Generated on Fri Mar 24 17:11:21 2006 for ALICE FMD Off-line by  doxygen 1.4.6