]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONCheckItem.h
memory leak fixed
[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 core
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 TIterator;
21
22 class AliMUONCheckItem : public TNamed
23 {
24 public:
25
26   AliMUONCheckItem(Int_t id, Int_t maxNumber, const char* name);
27   virtual ~AliMUONCheckItem();
28   
29   /// Return the identifier of this item
30   Int_t GetID() const { return fID; }
31   
32   TObject* GetItem(Int_t id) const;
33   Bool_t AddItem(Int_t id, TObject* item);
34   
35   Bool_t IsFull() const;
36   Bool_t IsDead() const;
37   
38   void Print(Option_t* opt="") const;
39   
40     TIterator* CreateIterator() const;
41     
42 private:
43   /// Not implemented
44   AliMUONCheckItem(const AliMUONCheckItem&);
45   /// Not implemented
46   AliMUONCheckItem& operator=(const AliMUONCheckItem&);
47
48   void ComputeDead() const;
49   
50 private:
51   Int_t fID; //!< identifier of this item
52   mutable Int_t fDead; //!< whether this object is completely dead
53   Int_t fMaximum; //!< maximum number of sub-items possible within this item
54   AliMpExMap* fMissing; //!< pointers to the sub-items
55   
56   ClassDef(AliMUONCheckItem,1) // A composite object
57 };
58
59 #endif