]>
Commit | Line | Data |
---|---|---|
326c2d4b | 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 | ||
326c2d4b | 11 | #include "Rtypes.h" |
12 | ||
13 | #include "AliHLTTPCCAHit.h" | |
14 | #include "AliHLTTPCCACell.h" | |
d54804bf | 15 | #include "AliHLTTPCCAEndPoint.h" |
326c2d4b | 16 | |
17 | /** | |
18 | * @class ALIHLTTPCCARow | |
dc4788ec | 19 | * |
20 | * The ALIHLTTPCCARow class is a hit and cells container for one TPC row. | |
21 | * It is the internal class of the AliHLTTPCCATracker algorithm. | |
22 | * | |
326c2d4b | 23 | */ |
24 | class AliHLTTPCCARow | |
25 | { | |
26 | public: | |
27 | ||
28 | AliHLTTPCCARow(); | |
29 | AliHLTTPCCARow ( const AliHLTTPCCARow &); | |
30 | AliHLTTPCCARow &operator=( const AliHLTTPCCARow &); | |
31 | ||
32 | virtual ~AliHLTTPCCARow(){ Clear(); } | |
33 | ||
34 | AliHLTTPCCAHit *&Hits() { return fHits; } | |
35 | AliHLTTPCCACell *&Cells(){ return fCells;} | |
36 | Int_t *&CellHitPointers() { return fCellHitPointers; } | |
d54804bf | 37 | AliHLTTPCCAEndPoint *&EndPoints(){ return fEndPoints;} |
38 | ||
326c2d4b | 39 | Int_t &NHits() { return fNHits; } |
40 | Int_t &NCells() { return fNCells; } | |
d54804bf | 41 | Int_t &NEndPoints() { return fNEndPoints; } |
326c2d4b | 42 | Float_t &X() { return fX; } |
d54804bf | 43 | Float_t &MaxY() { return fMaxY; } |
44 | Float_t &DeltaY() { return fDeltaY; } | |
45 | Float_t &DeltaZ() { return fDeltaZ; } | |
326c2d4b | 46 | |
47 | AliHLTTPCCAHit &GetCellHit( AliHLTTPCCACell &c, Int_t i ){ | |
48 | //* get hit number i of the cell c | |
49 | return fHits[fCellHitPointers[c.FirstHitRef()+i]]; | |
50 | } | |
51 | ||
52 | void Clear(); | |
53 | ||
d54804bf | 54 | static Bool_t CompareCellZMax( AliHLTTPCCACell&c, Double_t ZMax ) |
55 | { | |
56 | return (c.ZMax()<ZMax); | |
57 | } | |
58 | static Bool_t CompareEndPointZ( AliHLTTPCCAEndPoint &p, Double_t Z ) | |
59 | { | |
60 | return (p.Param().GetZ()<Z); | |
61 | } | |
62 | ||
63 | private: | |
326c2d4b | 64 | |
65 | AliHLTTPCCAHit *fHits; // hit array | |
66 | AliHLTTPCCACell *fCells; // cell array | |
67 | Int_t *fCellHitPointers; // pointers cell->hits | |
d54804bf | 68 | AliHLTTPCCAEndPoint *fEndPoints; // array of track end points |
69 | Int_t fNHits, fNCells, fNEndPoints; // number of hits and cells | |
326c2d4b | 70 | Float_t fX; // X coordinate of the row |
d54804bf | 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 | |
326c2d4b | 74 | |
75 | ClassDef(AliHLTTPCCARow,1); | |
76 | }; | |
77 | ||
78 | #endif |