]>
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: AliMpMotifPosition.h,v 1.9 2006/05/24 13:58:18 ivana Exp $ |
dee1d5f1 | 6 | |
7 | /// \ingroup motif | |
8 | /// \class AliMpMotifPosition | |
9 | /// \brief A placed motif. | |
10 | /// | |
13985652 | 11 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay |
5f91c9e8 | 12 | |
13 | #ifndef ALI_MP_MOTIF_POSITION_H | |
14 | #define ALI_MP_MOTIF_POSITION_H | |
15 | ||
5f91c9e8 | 16 | #include "AliMpVIndexed.h" |
17 | #include "AliMpVMotif.h" | |
18 | ||
19 | class AliMpVPadIterator; | |
20 | ||
21 | class AliMpMotifPosition : public AliMpVIndexed | |
22 | { | |
23 | public: | |
6e97fbb8 | 24 | AliMpMotifPosition(Int_t id, AliMpVMotif* motif, Double_t x, Double_t y); |
5f91c9e8 | 25 | AliMpMotifPosition(); |
26 | virtual ~AliMpMotifPosition(); | |
27 | ||
28 | // methods | |
29 | virtual AliMpVPadIterator* CreateIterator() const; | |
30 | ||
31 | // get methods | |
32 | Int_t GetID() const; | |
33 | AliMpVMotif* GetMotif() const; | |
168e9c4d | 34 | Bool_t HasPadByIndices(MpPair_t indices) const; |
3635f34f | 35 | Bool_t HasPadByManuChannel(Int_t manuChannel) const; |
5f91c9e8 | 36 | |
37 | // Geometry | |
6e97fbb8 | 38 | Double_t GetPositionX() const; |
39 | Double_t GetPositionY() const; | |
40 | Double_t GetDimensionX() const; | |
41 | Double_t GetDimensionY() const; | |
dee1d5f1 | 42 | |
43 | // Sets the ID (which is the MANU ID) | |
44 | void SetID(Int_t id); | |
45 | // Sets the position. | |
6e97fbb8 | 46 | void SetPosition(Double_t x, Double_t y); |
dee1d5f1 | 47 | |
48 | void Print(Option_t* option="") const; | |
5f91c9e8 | 49 | |
13e7956b | 50 | private: |
f5671fc3 | 51 | /// Not implemented |
fb1bf5c0 | 52 | AliMpMotifPosition(const AliMpMotifPosition& right); |
f5671fc3 | 53 | /// Not implemented |
fb1bf5c0 | 54 | AliMpMotifPosition& operator = (const AliMpMotifPosition& right); |
55 | ||
5f91c9e8 | 56 | // methods |
57 | // data members | |
6e97fbb8 | 58 | Int_t fID; ///< identifier=manu id |
59 | AliMpVMotif* fMotif; ///< motif | |
60 | Double_t fPositionX; ///< x position | |
61 | Double_t fPositionY; ///< y position | |
5f91c9e8 | 62 | |
6e97fbb8 | 63 | ClassDef(AliMpMotifPosition,2) // A motif position |
5f91c9e8 | 64 | }; |
65 | ||
66 | // inline functions | |
67 | ||
f5671fc3 | 68 | /// Return motif position ID = manu id |
5f91c9e8 | 69 | inline Int_t AliMpMotifPosition::GetID() const |
70 | { return fID; } | |
71 | ||
f5671fc3 | 72 | /// Return motif |
5f91c9e8 | 73 | inline AliMpVMotif* AliMpMotifPosition::GetMotif() const |
74 | { return fMotif; } | |
75 | ||
cddcc1f3 | 76 | /// Return x position |
6e97fbb8 | 77 | inline Double_t AliMpMotifPosition::GetPositionX() const |
78 | { return fPositionX; } | |
79 | ||
cddcc1f3 | 80 | /// Return y position |
6e97fbb8 | 81 | inline Double_t AliMpMotifPosition::GetPositionY() const |
82 | { return fPositionY; } | |
83 | ||
cddcc1f3 | 84 | /// Return x dimension |
6e97fbb8 | 85 | inline Double_t AliMpMotifPosition::GetDimensionX() const |
86 | { return fMotif->DimensionX(); } | |
5f91c9e8 | 87 | |
cddcc1f3 | 88 | /// Return y dimension |
6e97fbb8 | 89 | inline Double_t AliMpMotifPosition::GetDimensionY() const |
90 | { return fMotif->DimensionY(); } | |
5f91c9e8 | 91 | |
92 | #endif //ALI_MP_MOTIF_POSITION_H |