1 #ifndef ALIL3TRACKARRAY_H
2 #define ALIL3TRACKARRAY_H
4 #include "AliL3RootTypes.h"
5 class AliL3ConfMapTrack;
7 class AliL3TrackSegmentData;
15 Bool_t *fIsPresent;//!
18 AliL3Track **fTrack;//!
21 UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr);
25 AliL3TrackArray(Int_t ntrack);
26 AliL3TrackArray(char* tracktype,Int_t ntrack);
27 AliL3TrackArray(char* tracktype);
28 virtual ~AliL3TrackArray();
29 Int_t GetTrackType(){return fTrackType;}
30 Int_t GetSize(){return fSize;}
31 Bool_t SetSize(Int_t newsize=2000);
33 Int_t GetNPresent(){return (fNTracks- fNAbsent);}
35 Int_t GetNTracks(){return fNTracks;}
36 AliL3Track *NextTrack();
37 AliL3Track *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
38 AliL3Track *GetTrack(Int_t t){return fTrack[t];}
40 void Remove(Int_t track);
41 void RemoveLast() {fNTracks--;}
45 void QSort( AliL3Track **a, Int_t first, Int_t last);
46 Int_t TrackCompare(AliL3Track *a, AliL3Track *b);
49 void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice); //Fill tracks and transform
50 void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks
51 UInt_t WriteTracks(AliL3TrackSegmentData* tr); //Write tracks
52 UInt_t WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr); //Write tracks
54 UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
55 void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this
56 void AddLast(AliL3Track *track);
58 ClassDef(AliL3TrackArray,1) //Track array class