]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/tracking-ca/AliHLTTPCCADisplay.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCADisplay.cxx
index 72b5fde2453ae563c7fcb128ad96a641bef27612..5c4250afd84b2fa8e8d182ad3eb0e110d30cafc3 100644 (file)
@@ -27,7 +27,6 @@
 #include "AliHLTTPCCATrack.h"
 #include "AliHLTTPCCAPerformance.h"
 #include "AliHLTTPCCAMCTrack.h"
-#include "AliHLTTPCCAOutTrack.h"
 
 #include "TString.h"
 #include "Riostream.h"
@@ -92,22 +91,6 @@ AliHLTTPCCADisplay::AliHLTTPCCADisplay() : fYX( 0 ), fZX( 0 ), fAsk( 1 ), fSlice
   // constructor
 }
 
-
-AliHLTTPCCADisplay::AliHLTTPCCADisplay( const AliHLTTPCCADisplay& )
-    : fYX( 0 ), fZX( 0 ), fAsk( 1 ), fSliceView( 1 ), fSlice( 0 ), fPerf( 0 ),
-    fCos( 1 ), fSin( 0 ), fZMin( -250 ), fZMax( 250 ), fYMin( -250 ), fYMax( 250 ), fSliceCos( 1 ), fSliceSin( 0 ),
-    fRInnerMin( 83.65 ), fRInnerMax( 133.3 ), fROuterMin( 133.5 ), fROuterMax( 247.7 ),
-    fTPCZMin( -250. ), fTPCZMax( 250 ), fArc(), fLine(), fPLine(), fMarker(), fBox(), fCrown(), fLatex(), fDrawOnlyRef( 0 )
-{
-  // dummy
-}
-
-const AliHLTTPCCADisplay& AliHLTTPCCADisplay::operator=( const AliHLTTPCCADisplay& ) const
-{
-  // dummy
-  return *this;
-}
-
 AliHLTTPCCADisplay::~AliHLTTPCCADisplay()
 {
   // destructor
@@ -418,24 +401,33 @@ void AliHLTTPCCADisplay::Slice2View( double x, double y, double *xv, double *yv
   *yv = yg * fCos + xg * fSin;
 }
 
-
-void AliHLTTPCCADisplay::DrawSliceHit( int iRow, int iHit, int color, Size_t width )
+void AliHLTTPCCADisplay::SliceHitXYZ(int iRow, int iHit, double &x, double &y, double &z )
 {
-  // draw hit
+  // get xyz of the hit
+
   if ( !fSlice ) return;
   const AliHLTTPCCARow &row = fSlice->Row( iRow );
   float y0 = row.Grid().YMin();
   float z0 = row.Grid().ZMin();
   float stepY = row.HstepY();
   float stepZ = row.HstepZ();
-  float x = row.X();
-  float y = y0 + fSlice->HitDataY( row, iHit ) * stepY;
-  float z = z0 + fSlice->HitDataZ( row, iHit ) * stepZ;
+  x = row.X();
+  y = y0 + fSlice->HitDataY( row, iHit ) * stepY;
+  z = z0 + fSlice->HitDataZ( row, iHit ) * stepZ;
+}
+
+void AliHLTTPCCADisplay::DrawSliceHit( int iRow, int iHit, int color, Size_t width )
+{
+  // draw hit
+  if ( !fSlice ) return;
+
+  double x,y,z;
+  SliceHitXYZ( iRow, iHit, x, y, z );
 
   SetSliceTransform( fSlice );
 
   if ( color < 0 ) {
-    if ( 0 && fPerf ) {
+    //if ( 0 && fPerf ) {
       //AliHLTTPCCAPerformance::AliHLTTPCCAHitLabel lab
       //= fPerf->GetClusterLabel( fSlice->Param().ISlice(), fSlice->HitInputID( row, iHit ) );
       //color = GetColor( lab[0] + 1 );
@@ -444,7 +436,8 @@ void AliHLTTPCCADisplay::DrawSliceHit( int iRow, int iHit, int color, Size_t wid
       //if ( mc.P() >= 1. ) color = kRed;
       //else if ( fDrawOnlyRef ) return;
       //}
-    } else color = GetColorZ( z );
+    //}  else
+    color = GetColorZ( z );
   }
   if ( width > 0 )fMarker.SetMarkerSize( width );
   else fMarker.SetMarkerSize( .3 );
@@ -471,52 +464,49 @@ void AliHLTTPCCADisplay::DrawSliceHits( int color, Size_t width )
 }
 
 
-void AliHLTTPCCADisplay::DrawSliceLink( int /*iRow*/, int /*iHit*/, int /*colorUp*/, int /*colorDn*/, int /*width*/ )
+void AliHLTTPCCADisplay::DrawSliceLink( int iRow, int iHit, int colorUp, int colorDn, int width )
 {
   // draw link between clusters
-#ifdef XXX
-  if ( !fPerf || !fGB ) return;
-  AliHLTTPCCAGBTracker &tracker = *fGB;
-  if ( width < 0 ) width = 1.;
+
+  //if ( !fPerf ) return;
+  //AliHLTTPCCAGBTracker &tracker = *fGB;
+  if ( width < 0 ) width = 1;
   fLine.SetLineWidth( width );
   int colUp = colorUp >= 0 ? colorUp : kMagenta;
   int colDn = colorDn >= 0 ? colorDn : kBlack;
   if ( iRow < 2 || iRow >= fSlice->Param().NRows() - 2 ) return;
 
-  const AliHLTTPCCARow& row = fSlice->Row( iRow );
-  const AliHLTTPCCARow& rowUp = fSlice->Row( iRow + 2 );
-  const AliHLTTPCCARow& rowDn = fSlice->Row( iRow - 2 );
+  const AliHLTTPCCARow& row = fSlice->Data().Row( iRow );
 
-  int id = fSlice->HitInputID( row, iHit );
-  const AliHLTTPCCAGBHit &h = tracker.Hits()[tracker.FirstSliceHit()[fSlice->Param().ISlice()] + id];
   short iUp = fSlice->HitLinkUpData( row, iHit );
   short iDn = fSlice->HitLinkDownData( row, iHit );
 
+
+  double p1[3], p2[3], p3[3];
+  SliceHitXYZ( iRow,  iHit, p1[0],p1[1],p1[2]);
+
+  double vx, vy, vx1, vy1;
+  Slice2View( p1[0], p1[1], &vx, &vy );
+
   if ( iUp >= 0 ) {
-    int id1 = fSlice->HitInputID( rowUp, iUp );
-    const AliHLTTPCCAGBHit &h1 = tracker.Hits()[tracker.FirstSliceHit()[fSlice->Param().ISlice()] + id1];
-    double vx, vy, vx1, vy1;
-    Slice2View( h.X(), h.Y(), &vx, &vy );
-    Slice2View( h1.X(), h1.Y(), &vx1, &vy1 );
+    SliceHitXYZ( iRow+2, iUp, p2[0],p2[1],p2[2]);
+    Slice2View( p2[0], p2[1], &vx1, &vy1 );
     fLine.SetLineColor( colUp );
     fYX->cd();
     fLine.DrawLine( vx - .1, vy, vx1 - .1, vy1 );
     fZX->cd();
-    fLine.DrawLine( h.Z() - 1., vy, h1.Z() - 1., vy1 );
+    fLine.DrawLine( p1[2] - 1., vy, p2[2] - 1., vy1 );
   }
-  if ( iDn >= 0 ) {
-    int id1 = fSlice->HitInputID( rowDn, iDn );
-    const AliHLTTPCCAGBHit &h1 = tracker.Hits()[tracker.FirstSliceHit()[fSlice->Param().ISlice()] + id1];
-    double vx, vy, vx1, vy1;
-    Slice2View( h.X(), h.Y(), &vx, &vy );
-    Slice2View( h1.X(), h1.Y(), &vx1, &vy1 );
+  if ( iDn >= 0 ) {   
+    SliceHitXYZ( iRow-2, iDn, p3[0],p3[1],p3[2]);
+    Slice2View( p3[0], p3[1], &vx1, &vy1 );
     fLine.SetLineColor( colDn );
     fYX->cd();
     fLine.DrawLine( vx + .1, vy, vx1 + .1, vy1 );
     fZX->cd();
-    fLine.DrawLine( h.Z() + 1., vy, h1.Z() + 1., vy1 );
+    fLine.DrawLine( p1[2] + 1., vy, p3[2] + 1., vy1 );
   }
-#endif
+
 }
 
 
@@ -807,7 +797,7 @@ void AliHLTTPCCADisplay::DrawSliceOutTrack( AliHLTTPCCATrackParam &/*t*/, double
   AliHLTTPCCADisplayTmpHit vHits[200];
 
   for ( int ih = 0; ih < track.NHits(); ih++ ) {
-    int id = tracker.FirstSliceHit()[fSlice->Param().ISlice()] + fSlice->OutTrackHits()[track.FirstHitRef()+ih];
+    int id = tracker.FirstSliceHit()[fSlice->Param().ISlice()] + fSlice->OutTrackHit(track.FirstHitRef()+ih);
     const AliHLTTPCCAGBHit &h = tracker.Hits()[id];
     vHits[ih].SetID( id );
     vHits[ih].SetS( 0 );
@@ -829,7 +819,7 @@ void AliHLTTPCCADisplay::DrawSliceOutTrack( int /*itr*/, int /*color*/, int /*wi
   AliHLTTPCCADisplayTmpHit vHits[200];
 
   for ( int ih = 0; ih < track.NHits(); ih++ ) {
-    int id = tracker.FirstSliceHit()[fSlice->Param().ISlice()] + fSlice->OutTrackHits()[track.FirstHitRef()+ih];
+    int id = tracker.FirstSliceHit()[fSlice->Param().ISlice()] + fSlice->OutTrackHit(track.FirstHitRef()+ih);
     const AliHLTTPCCAGBHit &h = tracker.Hits()[id];
     vHits[ih].SetID( id );
     vHits[ih].SetS( 0 );