]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCALinksWriter.cxx
Completely reworked version of TPC CA tracker (Sergey)
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCALinksWriter.cxx
CommitLineData
00d07bcd 1// @(#) $Id: AliHLTTPCCANeighboursCleaner.cxx 27042 2008-07-02 12:06:02Z richterm $
d54804bf 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//***************************************************************************
326c2d4b 18
00d07bcd 19#include "AliHLTTPCCALinksWriter.h"
20#include "AliHLTTPCCATracker.h"
326c2d4b 21
00d07bcd 22GPUd() void AliHLTTPCCALinksWriter::Thread
23( Int_t nBlocks, Int_t nThreads, Int_t iBlock, Int_t iThread, Int_t iSync,
24 AliHLTTPCCASharedMemory &/*s*/, AliHLTTPCCATracker &tracker )
dc4788ec 25{
00d07bcd 26 // copy constructed links to the new data scheme (temporary)
27
28 if( iSync==0 )
29 {
30 for( int irow=iBlock; irow<tracker.Param().NRows(); irow+=nBlocks ){
31 AliHLTTPCCARow &row = tracker.Rows()[irow];
32 Short_t *hitLinkUp = tracker.HitLinkUp() + row.FirstHit() ;
33 Short_t *hitLinkDown = tracker.HitLinkDown() + row.FirstHit();
34 Short_t *newUp = ((Short_t*)(tracker.TexHitsFullData() + row.FullOffset())) + row.FullLinkOffset();
35 Short_t *newDown = newUp + row.NHits();
36
37 for( int ih=iThread; ih<row.NHits(); ih+=nThreads ){
38 newUp[ih] = hitLinkUp[ih];
39 newDown[ih] = hitLinkDown[ih];
40 }
41 }
42 }
dc4788ec 43}