]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCARow.h
GPU tracker update
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCARow.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project        *
5 // ALICE Experiment at CERN, All rights reserved.                         *
6 // See cxx source for full Copyright notice                               *
7 //                                                                        *
8 //*************************************************************************
9
10 #ifndef ALIHLTTPCCAROW_H
11 #define ALIHLTTPCCAROW_H
12
13 #include "AliHLTTPCCADef.h"
14 #include "AliHLTTPCCAGrid.h"
15
16 /**
17  * @class ALIHLTTPCCARow
18  *
19  * The ALIHLTTPCCARow class is a hit and cells container for one TPC row.
20  * It is the internal class of the AliHLTTPCCATracker algorithm.
21  *
22  */
23 class AliHLTTPCCARow
24 {
25     friend class AliHLTTPCCASliceData;
26   public:
27
28 #if !defined(HLTCA_GPUCODE)
29     AliHLTTPCCARow();
30 #endif //!HLTCA_GPUCODE
31
32     GPUhd() int   NHits()    const { return fNHits; }
33     GPUhd() float X()        const { return fX; }
34     GPUhd() float MaxY()     const { return fMaxY; }
35     GPUhd() const AliHLTTPCCAGrid &Grid() const { return fGrid; }
36
37     GPUhd() float Hy0()      const { return fHy0; }
38     GPUhd() float Hz0()      const { return fHz0; }
39     GPUhd() float HstepY()   const { return fHstepY; }
40     GPUhd() float HstepZ()   const { return fHstepZ; }
41     GPUhd() float HstepYi()  const { return fHstepYi; }
42     GPUhd() float HstepZi()  const { return fHstepZi; }
43     GPUhd() int   FullSize() const { return fFullSize; }
44     GPUhd() int   HitNumberOffset() const { return fHitNumberOffset; }
45     GPUhd() unsigned int FirstHitInBinOffset() const { return fFirstHitInBinOffset; }
46
47   private:
48     int fNHits;            // number of hits
49     float fX;              // X coordinate of the row
50     float fMaxY;           // maximal Y coordinate of the row
51     AliHLTTPCCAGrid fGrid;   // grid of hits
52
53     // hit packing:
54     float fHy0;          // offset
55     float fHz0;          // offset
56     float fHstepY;       // step size
57     float fHstepZ;       // step size
58     float fHstepYi;      // inverse step size
59     float fHstepZi;      // inverse step size
60
61     int fFullSize;       // size of this row in Tracker::fRowData
62     int fHitNumberOffset;  // index of the first hit in the hit array, used as
63     // offset in AliHLTTPCCASliceData::LinkUp/DownData/HitDataY/...
64     unsigned int fFirstHitInBinOffset; // offset in Tracker::fRowData to find the FirstHitInBin
65 };
66
67 #endif //ALIHLTTPCCAROW_H