Modified AddTracks. Should be backward compatible
[u/mrichter/AliRoot.git] / HLT / src / AliL3TrackArray.h
1 #ifndef ALIL3TRACKARRAY_H
2 #define ALIL3TRACKARRAY_H
3
4 #include "AliL3RootTypes.h"
5 class AliL3ConfMapTrack;
6 class AliL3Track;
7 class AliL3TrackSegmentData;
8 class AliL3Transform;
9
10 class AliL3TrackArray{
11  private:
12   void DeleteArray();
13
14   Char_t fTrackType;
15   Int_t fSize;
16   Bool_t *fIsPresent;//!
17   Int_t fNAbsent;
18
19   AliL3Track **fTrack;//!
20   Int_t fNTracks;
21
22   UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr); 
23
24  public:
25   AliL3TrackArray();
26   AliL3TrackArray(Int_t ntrack);
27   AliL3TrackArray(char* tracktype,Int_t ntrack);
28   AliL3TrackArray(char* tracktype);
29   virtual ~AliL3TrackArray();
30   Int_t GetTrackType(){return fTrackType;}
31   Int_t GetSize(){return fSize;}
32   Bool_t SetSize(Int_t newsize=2000);
33
34   Int_t GetNPresent(){return (fNTracks- fNAbsent);}
35
36   Int_t GetNTracks(){return fNTracks;}
37   AliL3Track *NextTrack();
38   AliL3Track *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
39   AliL3Track *GetTrack(Int_t t){return fTrack[t];}
40
41   void Remove(Int_t track); 
42   void RemoveLast() {fNTracks--;}
43   void Compress();
44   void Reset();
45   void QSort();
46   void QSort( AliL3Track **a, Int_t first, Int_t last);
47   Int_t TrackCompare(AliL3Track *a, AliL3Track *b);
48
49
50   void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice, 
51                            AliL3Transform* trans); //Fill tracks and transform
52   void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks
53   UInt_t WriteTracks(AliL3TrackSegmentData* tr); //Write tracks
54   UInt_t WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr); //Write tracks
55   UInt_t GetOutSize();
56   UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
57   void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE);//add all Tracks to this 
58   void AddLast(AliL3Track *track);
59
60   ClassDef(AliL3TrackArray,1) 
61 };
62
63 #endif