]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3TrackArray.h
Added two pass tracking for confmapper.
[u/mrichter/AliRoot.git] / HLT / src / AliL3TrackArray.h
1 // @(#) $Id$
2
3 #ifndef ALIL3TRACKARRAY_H
4 #define ALIL3TRACKARRAY_H
5
6 #include "AliL3RootTypes.h"
7
8 class AliL3ConfMapTrack;
9 class AliL3Track;
10 class AliL3TrackSegmentData;
11
12 class 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
52   void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice); //Fill tracks and transform
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();}
58   void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this 
59   void AddLast(AliL3Track *track);
60
61   ClassDef(AliL3TrackArray,1) //Track array class
62 };
63
64 #endif