]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCARow.h
Completely reworked version of TPC CA tracker (Sergey)
[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 #ifndef ALIHLTTPCCAROW_H
9 #define ALIHLTTPCCAROW_H
10
11 #include "AliHLTTPCCADef.h"
12 #include "AliHLTTPCCAGrid.h"
13
14 /**
15  * @class ALIHLTTPCCARow
16  *
17  * The ALIHLTTPCCARow class is a hit and cells container for one TPC row.
18  * It is the internal class of the AliHLTTPCCATracker algorithm.
19  *
20  */
21 class AliHLTTPCCARow
22 {
23  public: 
24
25 #if !defined(HLTCA_GPUCODE)
26   AliHLTTPCCARow();  
27 #endif
28
29   //AliHLTTPCCARow &operator=( const AliHLTTPCCARow &);
30
31   GPUhd() Int_t   &FirstHit(){ return fFirstHit; }
32   GPUhd() Int_t   &NHits()   { return fNHits; }
33   GPUhd() Float_t &X()       { return fX; }
34   GPUhd() Float_t &MaxY()    { return fMaxY; }
35   GPUhd() AliHLTTPCCAGrid &Grid(){ return fGrid; }  
36
37   GPUhd() float &Hy0() { return fHy0;}
38   GPUhd() float &Hz0() { return fHz0;}
39   GPUhd() float &HstepY() { return fHstepY;}
40   GPUhd() float &HstepZ() { return fHstepZ;}
41   GPUhd() float &HstepYi() { return fHstepYi;}
42   GPUhd() float &HstepZi() { return fHstepZi;}
43   GPUhd() int &FullSize() { return fFullSize;}
44   GPUhd() int &FullOffset() { return fFullOffset;}
45   GPUhd() int &FullGridOffset() { return fFullGridOffset;}
46   GPUhd() int &FullLinkOffset() { return fFullLinkOffset;}
47
48 private:
49
50   Int_t fFirstHit;         // index of the first hit in the hit array
51   Int_t fNHits;            // number of hits 
52   Float_t fX;              // X coordinate of the row
53   Float_t fMaxY;           // maximal Y coordinate of the row
54   AliHLTTPCCAGrid fGrid;   // grid of hits
55
56   float fHy0,fHz0, fHstepY,fHstepZ, fHstepYi, fHstepZi; // temporary variables
57   int fFullSize, fFullOffset, fFullGridOffset,fFullLinkOffset; // temporary variables
58
59 };
60
61 #endif