]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpStringObjMap.h
Adding functions for iterating over motif positions
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpStringObjMap.h
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 basic
7 /// \class AliMpStringObjMap
8 /// \brief Substitutes map <string, TObject> which ALICE does not allow to use 
9 ///
10 /// \author Ivana Hrivnacova, IPN Orsay
11
12 #ifndef ALI_MP_STRING_OBJ_MAP_H
13 #define ALI_MP_STRING_OBJ_MAP_H
14
15 #include <TObject.h>
16 #include <TObjArray.h>
17 #include <TArrayI.h>
18
19 class AliMpStringObjMap : public TObject
20 {
21   public:
22     AliMpStringObjMap(Bool_t isOwner = false);
23     virtual ~AliMpStringObjMap();
24     
25     // methods
26     Bool_t    Add(const TString& first, TObject* second);
27     TObject*  Get(const TString& first) const;
28     Int_t     GetNofItems() const;
29     virtual void Clear(Option_t* /*option*/ ="");
30     virtual void Print(const char* /*option*/ = "") const;
31     void Print(const TString& key, ofstream& out) const;
32     
33   private:
34     AliMpStringObjMap(const AliMpStringObjMap& rhs);
35     AliMpStringObjMap& operator = (const AliMpStringObjMap& rhs);
36
37     // data members
38     Int_t      fNofItems;    ///<  number of items
39     TObjArray  fFirstArray;  ///<  first item array
40     TObjArray  fSecondArray; ///<  second item array
41  
42   ClassDef(AliMpStringObjMap,1)  // motif map
43 };    
44
45 #endif //ALI_MP_STRING_OBJ_MAP_H