Line data Source code
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 core
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 <TObject.h>
17 : #include <TArrayI.h>
18 :
19 : class TString;
20 :
21 0 : class AliMpArrayI : public TObject
22 : {
23 : public:
24 : AliMpArrayI(Bool_t sort = true);
25 : AliMpArrayI(TRootIOCtor* /*ioCtor*/);
26 : virtual ~AliMpArrayI();
27 :
28 : // methods
29 : Bool_t Add(Int_t value, Bool_t warn=kTRUE);
30 : Bool_t Remove(Int_t value);
31 : Bool_t Revert();
32 : void Reset();
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 : Int_t fMinValue; ///< The minimum value in the array
54 : Int_t fMaxValue; ///< The maximum value in the array
55 :
56 228 : ClassDef(AliMpArrayI,2) // Helper class for sorted integer array
57 : };
58 :
59 : #endif //ALI_MP_EX_MAP_H
60 :
|