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 *
8 #ifndef ALIHLTTPCCAROW_H
9 #define ALIHLTTPCCAROW_H
13 #include "AliHLTTPCCAHit.h"
14 #include "AliHLTTPCCACell.h"
15 #include "AliHLTTPCCAEndPoint.h"
18 * @class ALIHLTTPCCARow
20 * The ALIHLTTPCCARow class is a hit and cells container for one TPC row.
21 * It is the internal class of the AliHLTTPCCATracker algorithm.
29 AliHLTTPCCARow ( const AliHLTTPCCARow &);
30 AliHLTTPCCARow &operator=( const AliHLTTPCCARow &);
32 virtual ~AliHLTTPCCARow(){ Clear(); }
34 AliHLTTPCCAHit *&Hits() { return fHits; }
35 AliHLTTPCCACell *&Cells(){ return fCells;}
36 Int_t *&CellHitPointers() { return fCellHitPointers; }
37 AliHLTTPCCAEndPoint *&EndPoints(){ return fEndPoints;}
39 Int_t &NHits() { return fNHits; }
40 Int_t &NCells() { return fNCells; }
41 Int_t &NEndPoints() { return fNEndPoints; }
42 Float_t &X() { return fX; }
43 Float_t &MaxY() { return fMaxY; }
44 Float_t &DeltaY() { return fDeltaY; }
45 Float_t &DeltaZ() { return fDeltaZ; }
47 AliHLTTPCCAHit &GetCellHit( AliHLTTPCCACell &c, Int_t i ){
48 //* get hit number i of the cell c
49 return fHits[fCellHitPointers[c.FirstHitRef()+i]];
54 static Bool_t CompareCellZMax( AliHLTTPCCACell&c, Double_t ZMax )
56 return (c.ZMax()<ZMax);
58 static Bool_t CompareEndPointZ( AliHLTTPCCAEndPoint &p, Double_t Z )
60 return (p.Param().GetZ()<Z);
65 AliHLTTPCCAHit *fHits; // hit array
66 AliHLTTPCCACell *fCells; // cell array
67 Int_t *fCellHitPointers; // pointers cell->hits
68 AliHLTTPCCAEndPoint *fEndPoints; // array of track end points
69 Int_t fNHits, fNCells, fNEndPoints; // number of hits and cells
70 Float_t fX; // X coordinate of the row
71 Float_t fMaxY; // maximal Y coordinate of the row
72 Float_t fDeltaY; // allowed Y deviation to the next row
73 Float_t fDeltaZ; // allowed Z deviation to the next row
75 ClassDef(AliHLTTPCCARow,1);