]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // @(#) $Id$ |
2 | ||
108615fc | 3 | #ifndef ALIL3TRACKARRAY_H |
4 | #define ALIL3TRACKARRAY_H | |
5 | ||
6 | #include "AliL3RootTypes.h" | |
3e87ef69 | 7 | |
108615fc | 8 | class AliL3ConfMapTrack; |
9 | class AliL3Track; | |
10 | class AliL3TrackSegmentData; | |
108615fc | 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 | ||
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 |