]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONStringIntMap.h
New splines and first eta maps for the 2013 pPb runs (Benjamin)
[u/mrichter/AliRoot.git] / MUON / AliMUONStringIntMap.h
... / ...
CommitLineData
1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
5
6/// \ingroup core
7/// \class AliMUONStringIntMap
8/// \brief Substitutes map <string, int> which ALICE does not allow to use
9///
10/// \author Ivana Hrivnacova, IPN Orsay
11
12#ifndef ALI_MUON_STRING_INT_MAP_H
13#define ALI_MUON_STRING_INT_MAP_H
14
15#include <TObject.h>
16#include <TObjArray.h>
17#include <TArrayI.h>
18
19using std::ofstream;
20
21class AliMUONStringIntMap : public TObject
22{
23 public:
24 AliMUONStringIntMap();
25 virtual ~AliMUONStringIntMap();
26
27 // methods
28 Bool_t Add(const TString& first, Int_t second);
29 Bool_t Set(const TString& first, Int_t second);
30 Int_t Contains(const TString& first) const;
31
32 Int_t Get(const TString& first) const;
33 Int_t GetNofItems() const;
34 virtual void Clear(Option_t* /*option*/ ="");
35 virtual void Print(const char* /*option*/ = "") const;
36 void Print(const TString& key, ofstream& out) const;
37
38 // Methods for iterating over all elements
39 Bool_t Next(TString& first, Int_t& second);
40 void ResetItr();
41
42 protected:
43 /// Not implemented
44 AliMUONStringIntMap(const AliMUONStringIntMap& rhs);
45 /// Not implemented
46 AliMUONStringIntMap& operator = (const AliMUONStringIntMap& rhs);
47
48 private:
49 // data members
50 Int_t fNofItems; ///< number of items
51 TObjArray fFirstArray; ///< first item array
52 TArrayI fSecondArray; ///< second item array
53 Int_t fCurrentIndex;///< current index
54
55 ClassDef(AliMUONStringIntMap,2) // motif map
56};
57
58#endif //ALI_MUON_STRING_INT_MAP_H