]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3TrackArray.h
Bugfix in AliL3FileHandler::GetDigitsTree.
[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
9 class AliL3TrackArray{
10  private:
11   void DeleteArray();
12
13   Char_t fTrackType;
14   Int_t fSize;
15   Bool_t *fIsPresent;//!
16   Int_t fNAbsent;
17
18   AliL3Track **fTrack;//!
19   Int_t fNTracks;
20
21   UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr); 
22
23  public:
24   AliL3TrackArray();
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);
32
33   Int_t GetNPresent(){return (fNTracks- fNAbsent);}
34
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];}
39
40   void Remove(Int_t track); 
41   void RemoveLast() {fNTracks--;}
42   void Compress();
43   void Reset();
44   void QSort();
45   void QSort( AliL3Track **a, Int_t first, Int_t last);
46   Int_t TrackCompare(AliL3Track *a, AliL3Track *b);
47
48
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
53   UInt_t GetOutSize();
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);
57
58   ClassDef(AliL3TrackArray,1) //Track array class
59 };
60
61 #endif