StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AliHLTTPCCAHitArea.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id: AliHLTTPCCAHitArea.h,v 1.1 2016/02/05 23:27:28 fisyak Exp $
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 #include "AliHLTArray.h"
16 
17 struct AliHLTTPCCAGrid;
18 class AliHLTTPCCARow;
20 
27 {
28  public:
30  {
31  short_m fValid;
32  short_v fLinks;
33  sfloat_v fY, fZ;
34  };
35 
36  AliHLTTPCCAHitArea( const AliHLTTPCCARow &row, const AliHLTTPCCASliceData &slice, const sfloat_v &y, const sfloat_v &z, float dy, float dz, short_m mask );
37 
42  ushort_m GetNext( NeighbourData *data );
43 
44  protected:
45  const AliHLTTPCCARow &fRow;
46  const AliHLTTPCCASliceData &fSlice;
47 
48  ushort_v fBZmax; // maximal Z bin index
49  ushort_v fBDY; // Y distance of bin indexes
50  ushort_v fIndYmin; // minimum index for
51  ushort_v fIz; // current Z bin index (incremented while iterating)
52  ushort_v fHitYlst; //
53  ushort_v fIh; // hit index iterating inside the bins
54  int fNy; // Number of bins in Y direction
55 };
56 
58 
59 #include <Vc/IO>
60 
61 static inline std::ostream &operator<<( std::ostream &out, const HitArea::NeighbourData &n )
62 {
63  return out << n.fValid << " " << n.fLinks << " " << n.fY << " " << n.fZ << std::endl;
64 }
65 
66 #endif
ushort_m GetNext(NeighbourData *data)