LCOV - code coverage report
Current view: top level - HLT/TPCLib/tracking-ca - AliHLTTPCCANeighboursCleaner.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 27 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 1 0.0 %

          Line data    Source code
       1             : // @(#) $Id: AliHLTTPCCANeighboursCleaner.cxx 27042 2008-07-02 12:06:02Z richterm $
       2             : // **************************************************************************
       3             : // This file is property of and copyright by the ALICE HLT Project          *
       4             : // ALICE Experiment at CERN, All rights reserved.                           *
       5             : //                                                                          *
       6             : // Primary Authors: Sergey Gorbunov <sergey.gorbunov@kip.uni-heidelberg.de> *
       7             : //                  Ivan Kisel <kisel@kip.uni-heidelberg.de>                *
       8             : //                  for The ALICE HLT Project.                              *
       9             : //                                                                          *
      10             : // Permission to use, copy, modify and distribute this software and its     *
      11             : // documentation strictly for non-commercial purposes is hereby granted     *
      12             : // without fee, provided that the above copyright notice appears in all     *
      13             : // copies and that both the copyright notice and this permission notice     *
      14             : // appear in the supporting documentation. The authors make no claims       *
      15             : // about the suitability of this software for any purpose. It is            *
      16             : // provided "as is" without express or implied warranty.                    *
      17             : //                                                                          *
      18             : //***************************************************************************
      19             : 
      20             : 
      21             : #include "AliHLTTPCCANeighboursCleaner.h"
      22             : #include "AliHLTTPCCAMath.h"
      23             : #include "AliHLTTPCCATracker.h"
      24             : 
      25             : GPUdi() void AliHLTTPCCANeighboursCleaner::Thread
      26             : ( int /*nBlocks*/, int nThreads, int iBlock, int iThread, int iSync,
      27             :   GPUsharedref() MEM_LOCAL(AliHLTTPCCASharedMemory) &s, GPUconstant() MEM_CONSTANT(AliHLTTPCCATracker) &tracker )
      28             : {
      29             :   // *
      30             :   // * kill link to the neighbour if the neighbour is not pointed to the cluster
      31             :   // *
      32             : 
      33           0 :   if ( iSync == 0 ) {
      34           0 :     if ( iThread == 0 ) {
      35           0 :       s.fNRows = tracker.Param().NRows();
      36           0 :       s.fIRow = iBlock + 2;
      37           0 :       if ( s.fIRow <= s.fNRows - 3 ) {
      38           0 :         s.fIRowUp = s.fIRow + 2;
      39           0 :         s.fIRowDn = s.fIRow - 2;
      40           0 :         s.fNHits = tracker.Row( s.fIRow ).NHits();
      41           0 :       }
      42             :     }
      43           0 :   } else if ( iSync == 1 ) {
      44           0 :     if ( s.fIRow <= s.fNRows - 3 ) {
      45             : #ifdef HLTCA_GPUCODE
      46             :       int Up = s.fIRowUp;
      47             :       int Dn = s.fIRowDn;
      48             :       GPUglobalref() const MEM_GLOBAL(AliHLTTPCCARow) &row = tracker.Row( s.fIRow );
      49             :       GPUglobalref() const MEM_GLOBAL(AliHLTTPCCARow) &rowUp = tracker.Row( Up );
      50             :       GPUglobalref() const MEM_GLOBAL(AliHLTTPCCARow) &rowDn = tracker.Row( Dn );
      51             : #else
      52           0 :       const AliHLTTPCCARow &row = tracker.Row( s.fIRow );
      53           0 :       const AliHLTTPCCARow &rowUp = tracker.Row( s.fIRowUp );
      54           0 :       const AliHLTTPCCARow &rowDn = tracker.Row( s.fIRowDn );
      55             : #endif
      56             : 
      57             :       // - look at up link, if it's valid but the down link in the row above doesn't link to us remove
      58             :       //   the link
      59             :       // - look at down link, if it's valid but the up link in the row below doesn't link to us remove
      60             :       //   the link
      61           0 :       for ( int ih = iThread; ih < s.fNHits; ih += nThreads ) {
      62           0 :         int up = tracker.HitLinkUpData( row, ih );
      63           0 :         if ( up >= 0 ) {
      64           0 :           short upDn = tracker.HitLinkDownData( rowUp, up );
      65           0 :           if ( ( upDn != ih ) ) tracker.SetHitLinkUpData( row, ih, -1 );
      66           0 :         }
      67           0 :         int dn = tracker.HitLinkDownData( row, ih );
      68           0 :         if ( dn >= 0 ) {
      69           0 :           short dnUp = tracker.HitLinkUpData( rowDn, dn );
      70           0 :           if ( dnUp != ih ) tracker.SetHitLinkDownData( row, ih, -1 );
      71           0 :         }
      72             :       }
      73           0 :     }
      74             :   }
      75           0 : }
      76             : 

Generated by: LCOV version 1.11