]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSIntMap.h
Add the possibiloity to save cut settings in the ROOT file
[u/mrichter/AliRoot.git] / ITS / AliITSIntMap.h
1 #ifndef ALI_ITS_INTMAP_H
2 #define ALI_ITS_INTMAP_H
3
4 //////////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo                                           //
6 // This class implements the use of a map of integers.              //
7 // For simplicity, this version is just a sorted linked list,       //
8 // but it may be rewritten later for better performance if required.//
9 //////////////////////////////////////////////////////////////////////  
10
11 #include <Rtypes.h>
12
13 class AliITSIntMapNode;
14
15 class AliITSIntMap {
16
17  public:
18   AliITSIntMap();
19   AliITSIntMap(const AliITSIntMap& imap);
20   virtual ~AliITSIntMap();
21   AliITSIntMap& operator=(const AliITSIntMap& imap);
22
23   void               Clear();
24   Bool_t             Insert(Int_t key, Int_t val);
25   Bool_t             Remove(Int_t key);
26   AliITSIntMapNode*  Find(Int_t key) const;
27   Int_t              GetKey(UInt_t index) const;
28   Int_t              GetVal(UInt_t index) const;
29   UInt_t             GetNrEntries() const {return fNrEntries;}
30   void               PrintEntries() const;
31
32  private:
33   UInt_t             fNrEntries;   // nr of entries in map
34   AliITSIntMapNode*  fFirst;       // link to first node of map
35
36 };
37
38 #endif