]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCTrackArray.h
Imported files from the existing L3 code directories (../src, ../comp,
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackArray.h
CommitLineData
a6c02c85 1// @(#) $Id$
2
3#ifndef ALIHLTTPCTRACKARRAY_H
4#define ALIHLTTPCTRACKARRAY_H
5
6#include "AliHLTTPCRootTypes.h"
7
8class AliHLTTPCConfMapTrack;
9class AliHLTTPCTrack;
10class AliHLTTPCTrackSegmentData;
11
12class AliHLTTPCTrackArray {
13
14 private:
15
16 Char_t fTrackType; //track type
17 Int_t fSize; //size of arra
18 Bool_t *fIsPresent;//!
19 Int_t fNAbsent; //ntracks absent
20
21 AliHLTTPCTrack **fTrack;//!
22 Int_t fNTracks; //ntracks in
23
24 UInt_t WriteConfMapTracks(AliHLTTPCTrackSegmentData* tr);
25 void DeleteArray();
26
27 public:
28 AliHLTTPCTrackArray();
29 AliHLTTPCTrackArray(Int_t ntrack);
30 AliHLTTPCTrackArray(char* tracktype,Int_t ntrack);
31 AliHLTTPCTrackArray(char* tracktype);
32 virtual ~AliHLTTPCTrackArray();
33 Int_t GetTrackType(){return fTrackType;}
34 Int_t GetSize() const {return fSize;}
35 Bool_t SetSize(Int_t newsize=2000);
36
37 Int_t GetNPresent() const {return (fNTracks- fNAbsent);}
38 Int_t GetNTracks() const {return fNTracks;}
39 AliHLTTPCTrack *NextTrack();
40 AliHLTTPCTrack *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
41 AliHLTTPCTrack *GetTrack(Int_t t){return fTrack[t];}
42
43 void Remove(Int_t track);
44 void RemoveLast() {fNTracks--;}
45 void Compress();
46 void Reset();
47 void QSort();
48 void QSort( AliHLTTPCTrack **a, Int_t first, Int_t last);
49 Int_t TrackCompare(AliHLTTPCTrack *a, AliHLTTPCTrack *b) const;
50
51 void FillTracks(Int_t ntracks, AliHLTTPCTrackSegmentData* tr,Int_t slice); //Fill tracks and transform
52 void FillTracks(Int_t ntracks, AliHLTTPCTrackSegmentData* tr); //Fill tracks
53 UInt_t WriteTracks(AliHLTTPCTrackSegmentData* tr); //Write tracks
54 UInt_t WriteTracks(UInt_t & ntracks,AliHLTTPCTrackSegmentData* tr); //Write tracks
55 UInt_t GetOutSize();
56 UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
57 void AddTracks(AliHLTTPCTrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this
58 void AddLast(AliHLTTPCTrack *track);
59
60 ClassDef(AliHLTTPCTrackArray,1) //Track array class
61};
62
63#endif