]>
Commit | Line | Data |
---|---|---|
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$ |
13985652 | 5 | // $MpId: AliMpZone.h,v 1.10 2006/05/24 13:58:21 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 | /// | |
13985652 | 14 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay |
5f91c9e8 | 15 | |
16 | #ifndef ALI_MP_ZONE_H | |
17 | #define ALI_MP_ZONE_H | |
18 | ||
2a7ea2e6 | 19 | #include <TObject.h> |
5006ec94 | 20 | |
2a7ea2e6 | 21 | #include "AliMpContainers.h" |
5006ec94 | 22 | |
2a7ea2e6 | 23 | #include <TVector2.h> |
5006ec94 | 24 | #ifdef WITH_ROOT |
25 | #include <TObjArray.h> | |
26 | #endif | |
27 | ||
2a7ea2e6 | 28 | #ifdef WITH_STL |
29 | #include <vector> | |
30 | #endif | |
5f91c9e8 | 31 | |
2998a151 | 32 | class AliMpSubZone; |
5006ec94 | 33 | class AliMpVMotif; |
5f91c9e8 | 34 | |
35 | class AliMpZone : public TObject | |
36 | { | |
5006ec94 | 37 | public: |
38 | #ifdef WITH_STL | |
f5671fc3 | 39 | /// Sub zone vector type |
5006ec94 | 40 | typedef std::vector<AliMpSubZone*> SubZoneVector; |
41 | #endif | |
42 | #ifdef WITH_ROOT | |
f5671fc3 | 43 | /// Sub zone vector type |
5006ec94 | 44 | typedef TObjArray SubZoneVector; |
45 | #endif | |
46 | ||
5f91c9e8 | 47 | public: |
48 | AliMpZone(Int_t id); | |
49 | AliMpZone(); | |
50 | virtual ~AliMpZone(); | |
51 | ||
52 | // methods | |
53 | void AddSubZone(AliMpSubZone* subZone); | |
54 | ||
55 | // find methods | |
56 | AliMpSubZone* FindSubZone(AliMpVMotif* motif) const; | |
57 | ||
58 | // set methods | |
59 | void SetPadDimensions(const TVector2& padDimensions); | |
60 | ||
61 | // access methods | |
62 | UInt_t GetID() const; | |
63 | Int_t GetNofSubZones() const; | |
64 | AliMpSubZone* GetSubZone(Int_t i) const; | |
65 | TVector2 GetPadDimensions() const; | |
66 | ||
67 | private: | |
68 | // data members | |
829425a5 | 69 | UInt_t fID; ///< ID |
70 | SubZoneVector fSubZones; ///< subzones | |
71 | TVector2 fPadDimensions;///< pad dimensions | |
5f91c9e8 | 72 | |
829425a5 | 73 | ClassDef(AliMpZone,1) // Zone |
5f91c9e8 | 74 | }; |
75 | ||
76 | // inline functions | |
77 | ||
f5671fc3 | 78 | /// Set pad dimensions |
5f91c9e8 | 79 | inline void AliMpZone::SetPadDimensions(const TVector2& padDimensions) |
80 | { fPadDimensions = padDimensions; } | |
81 | ||
f5671fc3 | 82 | /// Return ID |
5f91c9e8 | 83 | inline UInt_t AliMpZone::GetID() const |
84 | { return fID; } | |
85 | ||
f5671fc3 | 86 | /// Return pad dimensions |
5f91c9e8 | 87 | inline TVector2 AliMpZone::GetPadDimensions() const |
88 | { return fPadDimensions;} | |
89 | ||
90 | #endif //ALI_MP_ZONE_H |