1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONStringIntMap
8 /// \brief Substitutes map <string, int> which ALICE does not allow to use
10 /// \author Ivana Hrivnacova, IPN Orsay
12 #ifndef ALI_MUON_STRING_INT_MAP_H
13 #define ALI_MUON_STRING_INT_MAP_H
16 #include <TObjArray.h>
19 class AliMUONStringIntMap : public TObject
22 AliMUONStringIntMap();
23 virtual ~AliMUONStringIntMap();
26 Bool_t Add(const TString& first, Int_t second);
27 Bool_t Set(const TString& first, Int_t second);
28 Int_t Contains(const TString& first) const;
30 Int_t Get(const TString& first) const;
31 Int_t GetNofItems() const;
32 virtual void Clear(Option_t* /*option*/ ="");
33 virtual void Print(const char* /*option*/ = "") const;
34 void Print(const TString& key, ofstream& out) const;
36 // Methods for iterating over all elements
37 Bool_t Next(TString& first, Int_t& second);
42 AliMUONStringIntMap(const AliMUONStringIntMap& rhs);
44 AliMUONStringIntMap& operator = (const AliMUONStringIntMap& rhs);
48 Int_t fNofItems; ///< number of items
49 TObjArray fFirstArray; ///< first item array
50 TArrayI fSecondArray; ///< second item array
51 Int_t fCurrentIndex;///< current index
53 ClassDef(AliMUONStringIntMap,2) // motif map
56 #endif //ALI_MUON_STRING_INT_MAP_H