]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpZone.h
- Reordering includes and/or
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpZone.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
5006ec94 5// $MpId: AliMpZone.h,v 1.7 2005/09/26 16:12:11 ivana Exp $
dee1d5f1 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/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 15
16#ifndef ALI_MP_ZONE_H
17#define ALI_MP_ZONE_H
18
5006ec94 19#include "AliMpContainers.h"
20
21#ifdef WITH_STL
22#include <vector>
23#endif
24
25#ifdef WITH_ROOT
26#include <TObjArray.h>
27#endif
28
5f91c9e8 29#include <TObject.h>
5f91c9e8 30#include <TVector2.h>
31
2998a151 32class AliMpSubZone;
5006ec94 33class AliMpVMotif;
5f91c9e8 34
35class AliMpZone : public TObject
36{
5006ec94 37 public:
38#ifdef WITH_STL
39 typedef std::vector<AliMpSubZone*> SubZoneVector;
40#endif
41#ifdef WITH_ROOT
42 typedef TObjArray SubZoneVector;
43#endif
44
5f91c9e8 45 public:
46 AliMpZone(Int_t id);
47 AliMpZone();
48 virtual ~AliMpZone();
49
50 // methods
51 void AddSubZone(AliMpSubZone* subZone);
52
53 // find methods
54 AliMpSubZone* FindSubZone(AliMpVMotif* motif) const;
55
56 // set methods
57 void SetPadDimensions(const TVector2& padDimensions);
58
59 // access methods
60 UInt_t GetID() const;
61 Int_t GetNofSubZones() const;
62 AliMpSubZone* GetSubZone(Int_t i) const;
63 TVector2 GetPadDimensions() const;
64
65 private:
66 // data members
67 UInt_t fID; // ID
68 SubZoneVector fSubZones; // subzones
69 TVector2 fPadDimensions;// pad dimensions
70
71 ClassDef(AliMpZone,1) //Zone
72};
73
74// inline functions
75
76inline void AliMpZone::SetPadDimensions(const TVector2& padDimensions)
77{ fPadDimensions = padDimensions; }
78
79inline UInt_t AliMpZone::GetID() const
80{ return fID; }
81
82inline TVector2 AliMpZone::GetPadDimensions() const
83{ return fPadDimensions;}
84
85#endif //ALI_MP_ZONE_H