completely re-worked TPC CA tracking code (Sergey/Ivan)
[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
11
12#include "Rtypes.h"
13
14#include "AliHLTTPCCAHit.h"
15#include "AliHLTTPCCACell.h"
16
17/**
18 * @class ALIHLTTPCCARow
19 * hit and cells container for one TPC row
20 */
21class AliHLTTPCCARow
22{
23 public:
24
25 AliHLTTPCCARow();
26 AliHLTTPCCARow ( const AliHLTTPCCARow &);
27 AliHLTTPCCARow &operator=( const AliHLTTPCCARow &);
28
29 virtual ~AliHLTTPCCARow(){ Clear(); }
30
31 AliHLTTPCCAHit *&Hits() { return fHits; }
32 AliHLTTPCCACell *&Cells(){ return fCells;}
33 Int_t *&CellHitPointers() { return fCellHitPointers; }
34
35 Int_t &NHits() { return fNHits; }
36 Int_t &NCells() { return fNCells; }
37 Float_t &X() { return fX; }
38
39 AliHLTTPCCAHit &GetCellHit( AliHLTTPCCACell &c, Int_t i ){
40 //* get hit number i of the cell c
41 return fHits[fCellHitPointers[c.FirstHitRef()+i]];
42 }
43
44 void Clear();
45
46 private:
47
48 AliHLTTPCCAHit *fHits; // hit array
49 AliHLTTPCCACell *fCells; // cell array
50 Int_t *fCellHitPointers; // pointers cell->hits
51 Int_t fNHits, fNCells; // number of hits and cells
52 Float_t fX; // X coordinate of the row
53
54 ClassDef(AliHLTTPCCARow,1);
55};
56
57#endif