]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpStringObjMap.h
New macro to keep track of timing performances of the segmentation methods (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpStringObjMap.h
index cc0da7c771fa79de0b5116aaa724d37368cf45fa..6639153196c792a2270845db0099e2ed4f8ef498 100644 (file)
@@ -3,10 +3,12 @@
 
 // $Id$
 
-/// \ingroup basic
+/// \ingroup core
 /// \class AliMpStringObjMap
 /// \brief Substitutes map <string, TObject> which ALICE does not allow to use 
 ///
+/// The map is not optimised for large data size
+///
 /// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MP_STRING_OBJ_MAP_H
@@ -19,7 +21,7 @@
 class AliMpStringObjMap : public TObject
 {
   public:
-    AliMpStringObjMap();
+    AliMpStringObjMap(Bool_t isOwner = false);
     virtual ~AliMpStringObjMap();
     
     // methods
@@ -30,14 +32,27 @@ class AliMpStringObjMap : public TObject
     virtual void Print(const char* /*option*/ = "") const;
     void Print(const TString& key, ofstream& out) const;
     
+    // iterating over elements
+    void  First();
+    void  Next();
+    TObject*  CurrentItem();
+    TString   CurrentKey();
+    Bool_t  IsDone() const;
+    
   private:
+    /// Not implemented
     AliMpStringObjMap(const AliMpStringObjMap& rhs);
+    /// Not implemented
     AliMpStringObjMap& operator = (const AliMpStringObjMap& rhs);
+    
+    // static data members
+    static const TString fgkUndefinedKey; ///< Undefined key string
 
     // data members
-    Int_t      fNofItems;    ///<  number of items
-    TObjArray  fFirstArray;  ///<  first item array
-    TObjArray  fSecondArray; ///<  second item array
+    Int_t      fNofItems;     ///<  number of items
+    TObjArray  fFirstArray;   ///<  first item array
+    TObjArray  fSecondArray;  ///<  second item array
+    Int_t      fCurrentIndex; ///<  current item index (for iteration)
  
   ClassDef(AliMpStringObjMap,1)  // motif map
 };