]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/TPCLib/tracking-ca/AliHLTTPCCAHitArea.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAHitArea.h
... / ...
CommitLineData
1//-*- Mode: C++ -*-
2// @(#) $Id: AliHLTTPCCARow.h 27042 2008-07-02 12:06:02Z richterm $
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 ALIHLTTPCCAHITAREA_H
11#define ALIHLTTPCCAHITAREA_H
12
13
14#include "AliHLTTPCCADef.h"
15
16class AliHLTTPCCAHit;
17class AliHLTTPCCAGrid;
18MEM_CLASS_PRE() class AliHLTTPCCATracker;
19MEM_CLASS_PRE() class AliHLTTPCCARow;
20MEM_CLASS_PRE() class AliHLTTPCCASliceData;
21
22/**
23 * @class ALIHLTTPCCAHitArea
24 *
25 * This class is used to _iterate_ over the hit data via GetNext
26 */
27class AliHLTTPCCAHitArea
28{
29 public:
30 MEM_TEMPLATE() GPUd() void Init( const MEM_TYPE( AliHLTTPCCARow) &row, GPUglobalref() const MEM_GLOBAL(AliHLTTPCCASliceData) &slice, float y, float z, float dy, float dz );
31
32 /**
33 * look up the next hit in the requested area.
34 * Sets h to the coordinates and returns the index for the hit data
35 */
36 MEM_TEMPLATE() GPUd() int GetNext( register GPUconstant() const MEM_CONSTANT(AliHLTTPCCATracker) &tracker, const MEM_TYPE( AliHLTTPCCARow) &row,
37 GPUglobalref() const MEM_GLOBAL(AliHLTTPCCASliceData) &slice, AliHLTTPCCAHit *h );
38 /**
39 * look up the best hit in the next hits in the requested area.
40 * Sets h to the coordinates and returns the index for the hit data
41 *
42 int GetBest( const AliHLTTPCCATracker &tracker, const AliHLTTPCCARow &row,
43 const int *content, AliHLTTPCCAHit *h);
44 */
45
46 float Y() const { return fY; }
47 float Z() const { return fZ; }
48 float MinZ() const { return fMinZ; }
49 float MaxZ() const { return fMaxZ; }
50 float MinY() const { return fMinY; }
51 float MaxY() const { return fMaxY; }
52 int BZmax() const { return fBZmax; }
53 int BDY() const { return fBDY; }
54 int IndYmin() const { return fIndYmin; }
55 int Iz() const { return fIz; }
56 int HitYfst() const { return fHitYfst; }
57 int HitYlst() const { return fHitYlst; }
58 int Ih() const { return fIh; }
59 int Ny() const { return fNy; }
60 int HitOffset() const { return fHitOffset; }
61
62 protected:
63 float fY; // search coordinates
64 float fZ; // search coordinates
65 float fMinZ; // search coordinates
66 float fMaxZ; // search coordinates
67 float fMinY; // search coordinates
68 float fMaxY; // search coordinates
69 int fBZmax; // maximal Z bin index
70 int fBDY; // Y distance of bin indexes
71 int fIndYmin; // minimum index for
72 int fIz; // current Z bin index (incremented while iterating)
73 int fHitYfst; //
74 int fHitYlst; //
75 int fIh; // some XXX index in the hit data
76 int fNy; // Number of bins in Y direction
77 int fHitOffset; // global hit offset XXX what's that?
78};
79
80#endif //ALIHLTTPCCAHITAREA_H