ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$
// $MpId: AliMpArrayI.h,v 1.4 2006/05/24 13:58:07 ivana Exp $

/// \ingroup core
/// \class AliMpArrayI
/// \brief Helper class for sorted integer array
///
/// \author Ivana Hrivnacova; IPN Orsay

#ifndef ALI_MP_ARRAY_I_H
#define ALI_MP_ARRAY_I_H

#include <TObject.h>
#include <TArrayI.h>

class TString;

class AliMpArrayI : public TObject
{
  public:
    AliMpArrayI(Bool_t sort = true);
    AliMpArrayI(TRootIOCtor* /*ioCtor*/);
    virtual ~AliMpArrayI();
    
    // methods
    Bool_t Add(Int_t value, Bool_t warn=kTRUE);
    Bool_t Remove(Int_t value);
    Bool_t Revert();
    void   Reset();

    // set methods
    void SetSize(Int_t size);

    // get methods
    Int_t   GetSize() const;
    Int_t   GetValue(Int_t index) const;
    Bool_t  HasValue(Int_t value) const;
    
  private:  
    // methods
    Int_t  GetPosition(Int_t value) const;
  
    // static data members
    static const Int_t    fgkDefaultSize; ///< Default initial size

    // data members
    Bool_t   fSort;       ///< Option to sort the values
    Int_t    fNofValues;  ///< Number of values in the array
    TArrayI  fValues;     ///< Array of values 
    Int_t    fMinValue;   ///< The minimum value in the array
    Int_t    fMaxValue;   ///< The maximum value in the array

  ClassDef(AliMpArrayI,2)  // Helper class for sorted integer array
};

#endif //ALI_MP_EX_MAP_H

 AliMpArrayI.h:1
 AliMpArrayI.h:2
 AliMpArrayI.h:3
 AliMpArrayI.h:4
 AliMpArrayI.h:5
 AliMpArrayI.h:6
 AliMpArrayI.h:7
 AliMpArrayI.h:8
 AliMpArrayI.h:9
 AliMpArrayI.h:10
 AliMpArrayI.h:11
 AliMpArrayI.h:12
 AliMpArrayI.h:13
 AliMpArrayI.h:14
 AliMpArrayI.h:15
 AliMpArrayI.h:16
 AliMpArrayI.h:17
 AliMpArrayI.h:18
 AliMpArrayI.h:19
 AliMpArrayI.h:20
 AliMpArrayI.h:21
 AliMpArrayI.h:22
 AliMpArrayI.h:23
 AliMpArrayI.h:24
 AliMpArrayI.h:25
 AliMpArrayI.h:26
 AliMpArrayI.h:27
 AliMpArrayI.h:28
 AliMpArrayI.h:29
 AliMpArrayI.h:30
 AliMpArrayI.h:31
 AliMpArrayI.h:32
 AliMpArrayI.h:33
 AliMpArrayI.h:34
 AliMpArrayI.h:35
 AliMpArrayI.h:36
 AliMpArrayI.h:37
 AliMpArrayI.h:38
 AliMpArrayI.h:39
 AliMpArrayI.h:40
 AliMpArrayI.h:41
 AliMpArrayI.h:42
 AliMpArrayI.h:43
 AliMpArrayI.h:44
 AliMpArrayI.h:45
 AliMpArrayI.h:46
 AliMpArrayI.h:47
 AliMpArrayI.h:48
 AliMpArrayI.h:49
 AliMpArrayI.h:50
 AliMpArrayI.h:51
 AliMpArrayI.h:52
 AliMpArrayI.h:53
 AliMpArrayI.h:54
 AliMpArrayI.h:55
 AliMpArrayI.h:56
 AliMpArrayI.h:57
 AliMpArrayI.h:58
 AliMpArrayI.h:59
 AliMpArrayI.h:60