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