ROOT logo
#ifndef ALIMUONCHECKITEM_H
#define ALIMUONCHECKITEM_H

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

// $Id$

/// \ingroup core
/// \class AliMUONCheckItem
/// \brief A structure used to gather information at different levels (ch,manu,de,chamber)
/// 
//  Author Laurent Aphecetche

#ifndef ROOT_TNamed
#  include "TNamed.h"
#endif

class AliMpExMap;
class TIterator;

class AliMUONCheckItem : public TNamed
{
public:

  AliMUONCheckItem(Int_t id, Int_t maxNumber, const char* name);
  virtual ~AliMUONCheckItem();
  
  /// Return the identifier of this item
  Int_t GetID() const { return fID; }
  
  TObject* GetItem(Int_t id) const;
  Bool_t AddItem(Int_t id, TObject* item);
  
  Bool_t IsFull() const;
  Bool_t IsDead() const;
  
  void Print(Option_t* opt="") const;
  
    TIterator* CreateIterator() const;
    
private:
  /// Not implemented
  AliMUONCheckItem(const AliMUONCheckItem&);
  /// Not implemented
  AliMUONCheckItem& operator=(const AliMUONCheckItem&);

  void ComputeDead() const;
  
private:
  Int_t fID; //!< identifier of this item
  mutable Int_t fDead; //!< whether this object is completely dead
  Int_t fMaximum; //!< maximum number of sub-items possible within this item
  AliMpExMap* fMissing; //!< pointers to the sub-items
  
  ClassDef(AliMUONCheckItem,1) // A composite object
};

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