]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/src/AliL3TrackArray.h
Copy constructor and assignment operator are added
[u/mrichter/AliRoot.git] / HLT / src / AliL3TrackArray.h
index 3876c3f2711d96a491b95e0213484ab3ea9b4fc3..293d74e311ea09c53c44405f422747698e0eb1e8 100644 (file)
@@ -1,25 +1,28 @@
+// @(#) $Id$
+
 #ifndef ALIL3TRACKARRAY_H
 #define ALIL3TRACKARRAY_H
 
 #include "AliL3RootTypes.h"
+
 class AliL3ConfMapTrack;
 class AliL3Track;
 class AliL3TrackSegmentData;
-class AliL3Transform;
 
-class AliL3TrackArray{
+class AliL3TrackArray {
+
  private:
-  void DeleteArray();
 
-  Char_t fTrackType;
-  Int_t fSize;
+  Char_t fTrackType; //track type
+  Int_t fSize; //size of arra
   Bool_t *fIsPresent;//!
-  Int_t fNAbsent;
+  Int_t fNAbsent; //ntracks absent
 
   AliL3Track **fTrack;//!
-  Int_t fNTracks;
+  Int_t fNTracks; //ntracks in
 
   UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr); 
+  void DeleteArray();
 
  public:
   AliL3TrackArray();
@@ -28,12 +31,11 @@ class AliL3TrackArray{
   AliL3TrackArray(char* tracktype);
   virtual ~AliL3TrackArray();
   Int_t GetTrackType(){return fTrackType;}
-  Int_t GetSize(){return fSize;}
+  Int_t GetSize() const {return fSize;}
   Bool_t SetSize(Int_t newsize=2000);
 
-  Int_t GetNPresent(){return (fNTracks- fNAbsent);}
-
-  Int_t GetNTracks(){return fNTracks;}
+  Int_t GetNPresent() const {return (fNTracks- fNAbsent);}
+  Int_t GetNTracks() const {return fNTracks;}
   AliL3Track *NextTrack();
   AliL3Track *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
   AliL3Track *GetTrack(Int_t t){return fTrack[t];}
@@ -44,19 +46,18 @@ class AliL3TrackArray{
   void Reset();
   void QSort();
   void QSort( AliL3Track **a, Int_t first, Int_t last);
-  Int_t TrackCompare(AliL3Track *a, AliL3Track *b);
+  Int_t TrackCompare(AliL3Track *a, AliL3Track *b) const;
 
-
-  void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice, 
-                           AliL3Transform* trans); //Fill tracks and transform
+  void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice); //Fill tracks and transform
   void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks
   UInt_t WriteTracks(AliL3TrackSegmentData* tr); //Write tracks
   UInt_t WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr); //Write tracks
   UInt_t GetOutSize();
   UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
-  void AddTracks(AliL3TrackArray *newtrack);//add all Tracks to this 
-  
-  ClassDef(AliL3TrackArray,1) 
+  void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this 
+  void AddLast(AliL3Track *track);
+
+  ClassDef(AliL3TrackArray,1) //Track array class
 };
 
 #endif