6 // Class describing the sector of the MUON chamber of station 1.
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10 #ifndef ALI_MP_SECTOR_H
11 #define ALI_MP_SECTOR_H
17 #include "AliMpSectorTypes.h"
18 #include "AliMpDirection.h"
22 class AliMpVRowSegment;
24 class AliMpVPadIterator;
27 class AliMpSector : public TObject
30 AliMpSector(const TString& id, Int_t nofZones, Int_t nofRows,
31 AliMpDirection direction);
33 virtual ~AliMpSector();
36 virtual AliMpVPadIterator* CreateIterator() const;
37 void SetRowSegmentOffsets();
39 void PrintGeometry() const;
42 AliMpRow* FindRow(const TVector2& position) const;
43 AliMpVMotif* FindMotif(const TVector2& position) const;
44 Int_t FindMotifPositionId(const TVector2& position) const;
46 AliMpRow* FindRow(Int_t motifPositionId) const;
47 AliMpVRowSegment* FindRowSegment(Int_t motifPositionId) const;
48 TVector2 FindPosition(Int_t motifPositionId) const;
50 AliMpZone* FindZone(const TVector2& padDimensions) const;
53 TVector2 Position() const;
54 TVector2 Dimensions() const;
57 Int_t GetNofZones() const;
58 AliMpZone* GetZone(Int_t i) const;
59 Int_t GetNofRows() const;
60 AliMpRow* GetRow(Int_t i) const;
61 AliMpDirection GetDirection() const;
62 TVector2 GetMinPadDimensions() const;
63 AliMpMotifMap* GetMotifMap() const;
66 AliMpSector(const AliMpSector& right);
67 AliMpSector& operator = (const AliMpSector& right);
71 AliMpVRowSegment* FindRowSegment(const TVector2& position) const;
73 void SetMotifPositions();
74 void SetGlobalIndices();
75 void SetMinPadDimensions();
78 TString fID; // sector ID
79 TVector2 fOffset; // sector position
80 ZoneVector fZones; // zones
81 RowVector fRows; // rows
82 AliMpMotifMap* fMotifMap; // motif map
83 AliMpDirection fDirection;// the direction of constant pad size
84 TVector2 fMinPadDimensions; // minimal pad dimensions
86 ClassDef(AliMpSector,1) //Sector
91 inline AliMpDirection AliMpSector::GetDirection() const
92 { return fDirection; }
94 inline TVector2 AliMpSector::GetMinPadDimensions() const
95 { return fMinPadDimensions; }
97 inline AliMpMotifMap* AliMpSector::GetMotifMap() const
100 #endif //ALI_MP_SECTOR_H