]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpZone.h
9e55c4552e74271f15280ff1a6c83bd87d13b3b3
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpZone.h
1 // $Id$
2 // Category: sector
3 //
4 // Class AliMpZone
5 // ---------------
6 // Class describing a zone composed of the zone segments.
7 // The zone contains pads of the same dimensions.
8 //
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11 #ifndef ALI_MP_ZONE_H
12 #define ALI_MP_ZONE_H
13
14 #include <TObject.h>
15 #include <TString.h>
16 #include <TVector2.h>
17
18 #include "AliMpSectorTypes.h"
19 #include "AliMpSubZone.h"
20
21 class AliMpZone : public TObject
22 {
23   public:
24     AliMpZone(Int_t id);
25     AliMpZone();
26     virtual ~AliMpZone();
27   
28     // methods
29     void AddSubZone(AliMpSubZone* subZone);
30
31     // find methods
32     AliMpSubZone* FindSubZone(AliMpVMotif* motif) const;
33     
34     // set methods
35     void SetPadDimensions(const TVector2& padDimensions);
36     
37     // access methods
38     UInt_t    GetID() const;
39     Int_t     GetNofSubZones() const;
40     AliMpSubZone*  GetSubZone(Int_t i) const;
41     TVector2  GetPadDimensions() const;
42
43   private:
44     // data members
45     UInt_t        fID;           // ID
46     SubZoneVector fSubZones;     // subzones
47     TVector2      fPadDimensions;// pad dimensions
48
49   ClassDef(AliMpZone,1)  //Zone
50 };
51
52 // inline functions
53
54 inline  void AliMpZone::SetPadDimensions(const TVector2& padDimensions)
55 { fPadDimensions = padDimensions; }
56
57 inline  UInt_t  AliMpZone::GetID() const 
58 { return fID; }
59
60 inline  TVector2  AliMpZone::GetPadDimensions() const 
61 { return fPadDimensions;}
62
63 #endif //ALI_MP_ZONE_H