Moving from base to calib (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONCheckItem.h
1 #ifndef ALIMUONCHECKITEM_H
2 #define ALIMUONCHECKITEM_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup calib
10 /// \class AliMUONCheckItem
11 /// \brief A structure used to gather information at different levels (ch,manu,de,chamber)
12 /// 
13 //  Author Laurent Aphecetche
14
15 #ifndef ROOT_TNamed
16 #  include "TNamed.h"
17 #endif
18
19 class AliMpExMap;
20 class TExMapIter;
21 class AliMUONCheckItemIterator;
22
23 class AliMUONCheckItem : public TNamed
24 {
25   friend class AliMUONCheckItemIterator;
26
27 public:
28
29   AliMUONCheckItem(Int_t id, Int_t maxNumber, const char* name);
30   virtual ~AliMUONCheckItem();
31   
32   /// Return the identifier of this item
33   Int_t GetID() const { return fID; }
34   
35   TObject* GetItem(Int_t id) const;
36   Bool_t AddItem(Int_t id, TObject* item);
37   
38   Bool_t IsFull() const;
39   Bool_t IsDead() const;
40   
41   void Print(Option_t* opt="") const;
42   
43 private:
44   /// Not implemented
45   AliMUONCheckItem(const AliMUONCheckItem&);
46   /// Not implemented
47   AliMUONCheckItem& operator=(const AliMUONCheckItem&);
48
49   void ComputeDead() const;
50   
51 private:
52   Int_t fID; //!< identifier of this item
53   mutable Int_t fDead; //!< whether this object is completely dead
54   Int_t fMaximum; //!< maximum number of sub-items possible within this item
55   AliMpExMap* fMissing; //!< pointers to the sub-items
56   
57   ClassDef(AliMUONCheckItem,1) // A composite object
58 };
59
60 #endif