]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3TrackArray.h
Added two pass tracking for confmapper.
[u/mrichter/AliRoot.git] / HLT / src / AliL3TrackArray.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
108615fc 3#ifndef ALIL3TRACKARRAY_H
4#define ALIL3TRACKARRAY_H
5
6#include "AliL3RootTypes.h"
3e87ef69 7
108615fc 8class AliL3ConfMapTrack;
9class AliL3Track;
10class AliL3TrackSegmentData;
108615fc 11
12class AliL3TrackArray{
13 private:
14 void DeleteArray();
15
16 Char_t fTrackType;
17 Int_t fSize;
18 Bool_t *fIsPresent;//!
19 Int_t fNAbsent;
20
21 AliL3Track **fTrack;//!
22 Int_t fNTracks;
23
24 UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr);
25
26 public:
27 AliL3TrackArray();
28 AliL3TrackArray(Int_t ntrack);
29 AliL3TrackArray(char* tracktype,Int_t ntrack);
30 AliL3TrackArray(char* tracktype);
31 virtual ~AliL3TrackArray();
32 Int_t GetTrackType(){return fTrackType;}
33 Int_t GetSize(){return fSize;}
34 Bool_t SetSize(Int_t newsize=2000);
35
36 Int_t GetNPresent(){return (fNTracks- fNAbsent);}
37
38 Int_t GetNTracks(){return fNTracks;}
39 AliL3Track *NextTrack();
40 AliL3Track *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
41 AliL3Track *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( AliL3Track **a, Int_t first, Int_t last);
49 Int_t TrackCompare(AliL3Track *a, AliL3Track *b);
50
51
494fad94 52 void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice); //Fill tracks and transform
108615fc 53 void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks
54 UInt_t WriteTracks(AliL3TrackSegmentData* tr); //Write tracks
55 UInt_t WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr); //Write tracks
56 UInt_t GetOutSize();
57 UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
71df269a 58 void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this
2e843b99 59 void AddLast(AliL3Track *track);
60
71df269a 61 ClassDef(AliL3TrackArray,1) //Track array class
108615fc 62};
63
64#endif