]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpArrayI.h
Update serial number files (Christian)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpArrayI.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 // $MpId: AliMpArrayI.h,v 1.4 2006/05/24 13:58:07 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpArrayI
9 /// \brief Helper class for sorted integer array
10 ///
11 /// \author Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_ARRAY_I_H
14 #define ALI_MP_ARRAY_I_H
15
16 #include "AliMpIntPair.h"
17
18 #include <TObject.h>
19 #include <TArrayI.h>
20
21 class TString;
22
23 class AliMpArrayI : public TObject
24 {
25   public:
26     AliMpArrayI(Bool_t sort = true);
27     AliMpArrayI(TRootIOCtor* /*ioCtor*/);
28     virtual ~AliMpArrayI();
29     
30     // methods
31     Bool_t Add(Int_t value);
32     Bool_t Remove(Int_t value);
33
34     // set methods
35     void SetSize(Int_t size);
36
37     // get methods
38     Int_t   GetSize() const;
39     Int_t   GetValue(Int_t index) const;
40     Bool_t  HasValue(Int_t value) const;
41     
42   private:  
43     // methods
44     Int_t  GetPosition(Int_t value) const;
45   
46     // static data members
47     static const Int_t    fgkDefaultSize; ///< Default initial size
48
49     // data members
50     Bool_t   fSort;       ///< Option to sort the values
51     Int_t    fNofValues;  ///< Number of values in the array
52     TArrayI  fValues;     ///< Array of values 
53     AliMpIntPair fLimits; ///< The minimum and maximum values in the array
54
55   ClassDef(AliMpArrayI,1)  // Helper class for sorted integer array
56 };
57
58 #endif //ALI_MP_EX_MAP_H
59