Replacement of AliMpIntPair object with algoritmic
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpZone.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpZone.h,v 1.10 2006/05/24 13:58:21 ivana Exp $
6
7 /// \ingroup sector
8 /// \class AliMpZone
9 /// \brief A region of pads of the same dimensions composed of subzones.
10 ///
11 /// The zone contains pads of the same dimensions,
12 /// it is composed of the subzones.
13 ///
14 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
15
16 #ifndef ALI_MP_ZONE_H
17 #define ALI_MP_ZONE_H
18
19 #include <TObject.h>
20 #include <TVector2.h>
21 #include <TObjArray.h>
22
23 class AliMpSubZone;
24 class AliMpVMotif;
25
26 class AliMpZone : public TObject
27 {
28   public:
29     AliMpZone(Int_t id);
30     AliMpZone();
31     virtual ~AliMpZone();
32   
33     // methods
34     void AddSubZone(AliMpSubZone* subZone);
35
36     // find methods
37     AliMpSubZone* FindSubZone(AliMpVMotif* motif) const;
38     
39     // set methods
40     void SetPadDimensions(const TVector2& padDimensions);
41     
42     // access methods
43     UInt_t    GetID() const;
44     Int_t     GetNofSubZones() const;
45     AliMpSubZone*  GetSubZone(Int_t i) const;
46     TVector2  GetPadDimensions() const;
47
48   private:
49     // data members
50     UInt_t        fID;           ///< ID
51     TObjArray     fSubZones;     ///< subzones
52     TVector2      fPadDimensions;///< pad dimensions
53
54   ClassDef(AliMpZone,1)  // Zone
55 };
56
57 // inline functions
58
59 /// Set pad dimensions
60 inline  void AliMpZone::SetPadDimensions(const TVector2& padDimensions)
61 { fPadDimensions = padDimensions; }
62
63 /// Return ID
64 inline  UInt_t  AliMpZone::GetID() const 
65 { return fID; }
66
67 /// Return pad dimensions
68 inline  TVector2  AliMpZone::GetPadDimensions() const 
69 { return fPadDimensions;}
70
71 #endif //ALI_MP_ZONE_H