]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/tracking-ca/AliHLTTPCCADisplay.h
added offline wrapper for HLT TPC CA tracker (Sergey)
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCADisplay.h
index eb23307dcf900625c915203c830f6e8527e7ed9d..e2c9b589a7b0d416b634e48f78503f7e4c85f47a 100644 (file)
@@ -16,8 +16,9 @@
 class AliHLTTPCCATracker;
 class AliHLTTPCCACell;
 class AliHLTTPCCATrack;
-
+class AliHLTTPCCATrackParam;
 class TCanvas;
+#include "TObject.h"
 #include "TArc.h"
 #include "TLine.h"
 #include "TPolyLine.h"
@@ -30,7 +31,7 @@ class TCanvas;
 /**
  * @class AliHLTTPCCADisplay
  */
-class AliHLTTPCCADisplay
+class AliHLTTPCCADisplay:public TObject
 {
  public:
 
@@ -44,34 +45,45 @@ class AliHLTTPCCADisplay
 
   void Init();
   void Update();
-  void Clear();
+  void ClearView();
   void Ask();
-  void SetSectorView();
+  void SetSliceView();
   void SetTPCView();
-  void SetCurrentSector( AliHLTTPCCATracker *sec ); 
+  void SetCurrentSlice( AliHLTTPCCATracker *slice ); 
+  void Set2Slices( AliHLTTPCCATracker *slice );
 
   Int_t GetColor( Double_t z ) const ;
   void Global2View( Double_t x, Double_t y, Double_t *xv, Double_t *yv ) const ;
-  void Sec2View( Double_t x, Double_t y, Double_t *xv, Double_t *yv ) const ;
+  void Slice2View( Double_t x, Double_t y, Double_t *xv, Double_t *yv ) const ;
 
   void DrawTPC();
-  void DrawSector( AliHLTTPCCATracker *sec ); 
+  void DrawSlice( AliHLTTPCCATracker *slice ); 
 
   void DrawHit( Int_t iRow,Int_t iHit, Int_t color=-1 );
   void DrawCell( Int_t iRow, AliHLTTPCCACell &cell, Int_t width=1, Int_t color=-1 );
   void DrawCell( Int_t iRow, Int_t iCell, Int_t width=1, Int_t color=-1 );
 
+  void DrawEndPoint( Int_t ID, Float_t R, Int_t width=1, Int_t color=-1 );
+  void ConnectEndPoints( Int_t iID, Int_t jID, Float_t R, Int_t width=1, Int_t color=-1 );
+
   void ConnectCells( Int_t iRow1, AliHLTTPCCACell &cell1, Int_t iRow2, AliHLTTPCCACell &cell2, Int_t color=-1 );
 
-  void DrawTrack( AliHLTTPCCATrack &track, Int_t color=-1 );
+  void DrawTrack1( AliHLTTPCCATrack &track, Int_t color=-1, Bool_t DrawCells=1 );
+  void DrawTrackletPoint( AliHLTTPCCATrackParam &t, Int_t color=-1 );
+
+  void SetSliceTransform( Double_t alpha );
+
+  void SetSliceTransform( AliHLTTPCCATracker *slice );
+
 
  protected:
 
   TCanvas *fYX, *fZX;               // two views
   Bool_t fAsk;                      // flag to ask for the pressing key
-  Bool_t fSectorView;               // switch between sector/TPC zoomv
-  AliHLTTPCCATracker *fSector;      // current CA tracker, includes sector geometry
+  Bool_t fSliceView;               // switch between slice/TPC zoom
+  AliHLTTPCCATracker *fSlice;      // current CA tracker, includes slice geometry
   Double_t fCos, fSin, fZMin, fZMax;// view parameters
+  Double_t fSliceCos, fSliceSin;        // current slice angle
   Double_t fRInnerMin, fRInnerMax, fROuterMin, fROuterMax,fTPCZMin, fTPCZMax; // view parameters
 
   TArc fArc;       // parameters of drawing objects are copied from this members
@@ -83,18 +95,26 @@ class AliHLTTPCCADisplay
   TLatex fLatex;   //!
 
   class AliHLTTPCCADisplayTmpCell{  
+
   public:
-    Int_t &Index(){ return fIndex; }
+    Int_t &ID(){ return fCellID; }
     Double_t &S(){ return fS; }
+    Double_t &Z(){ return fZ; }
 
     static Bool_t CompareCellDS( const AliHLTTPCCADisplayTmpCell &a, 
                                 const AliHLTTPCCADisplayTmpCell  &b )
     {    
       return (a.fS < b.fS);
     }
+    static Bool_t CompareCellZ( const AliHLTTPCCADisplayTmpCell &a, 
+                                const AliHLTTPCCADisplayTmpCell  &b )
+    {    
+      return (a.fZ < b.fZ);
+    }
   protected:
-    Int_t fIndex; // cell index
-    Double_t fS;  // cell position on the track
+    Int_t fCellID; // cell ID
+    Double_t fS;  // cell position on the XY track curve 
+    Double_t fZ;  // cell Z position
   };