Line data Source code
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 : MEM_CLASS_PRE() class AliHLTTPCCARow
24 : {
25 : MEM_CLASS_PRE2() friend class AliHLTTPCCASliceData;
26 : public:
27 :
28 : #if !defined(HLTCA_GPUCODE)
29 : AliHLTTPCCARow();
30 : #endif //!HLTCA_GPUCODE
31 :
32 0 : GPUhd() int NHits() const { return fNHits; }
33 0 : GPUhd() float X() const { return fX; }
34 0 : GPUhd() float MaxY() const { return fMaxY; }
35 0 : GPUhd() MakeType(const AliHLTTPCCAGrid&) Grid() const { return fGrid; }
36 :
37 0 : GPUhd() float Hy0() const { return fHy0; }
38 0 : GPUhd() float Hz0() const { return fHz0; }
39 0 : GPUhd() float HstepY() const { return fHstepY; }
40 0 : GPUhd() float HstepZ() const { return fHstepZ; }
41 0 : GPUhd() float HstepYi() const { return fHstepYi; }
42 0 : GPUhd() float HstepZi() const { return fHstepZi; }
43 0 : GPUhd() int FullSize() const { return fFullSize; }
44 0 : GPUhd() int HitNumberOffset() const { return fHitNumberOffset; }
45 0 : 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
|