]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCARow.h
add fallback compile info of library
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCARow.h
CommitLineData
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 */
24class 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
63private:
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