]>
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 | ||
2a7ea2e6 | 19 | #include <TVector2.h> |
20 | ||
5f91c9e8 | 21 | class AliMpVPadIterator; |
22 | ||
23 | class AliMpMotifPosition : public AliMpVIndexed | |
24 | { | |
25 | public: | |
26 | AliMpMotifPosition(Int_t id, AliMpVMotif* motif, TVector2 position); | |
27 | AliMpMotifPosition(); | |
28 | virtual ~AliMpMotifPosition(); | |
29 | ||
30 | // methods | |
31 | virtual AliMpVPadIterator* CreateIterator() const; | |
32 | ||
33 | // get methods | |
34 | Int_t GetID() const; | |
35 | AliMpVMotif* GetMotif() const; | |
168e9c4d | 36 | Bool_t HasPadByIndices(MpPair_t indices) const; |
3635f34f | 37 | Bool_t HasPadByManuChannel(Int_t manuChannel) const; |
5f91c9e8 | 38 | |
39 | // Geometry | |
40 | TVector2 Position() const; | |
41 | TVector2 Dimensions() const; | |
dee1d5f1 | 42 | |
43 | // Sets the ID (which is the MANU ID) | |
44 | void SetID(Int_t id); | |
45 | // Sets the position. | |
46 | void SetPosition(const TVector2& pos); | |
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 | |
829425a5 | 58 | Int_t fID; ///< identifier=manu id |
59 | AliMpVMotif* fMotif; ///< motif | |
60 | TVector2 fPosition; ///< position | |
5f91c9e8 | 61 | |
62 | ClassDef(AliMpMotifPosition,1) // A motif position | |
63 | }; | |
64 | ||
65 | // inline functions | |
66 | ||
f5671fc3 | 67 | /// Return motif position ID = manu id |
5f91c9e8 | 68 | inline Int_t AliMpMotifPosition::GetID() const |
69 | { return fID; } | |
70 | ||
f5671fc3 | 71 | /// Return motif |
5f91c9e8 | 72 | inline AliMpVMotif* AliMpMotifPosition::GetMotif() const |
73 | { return fMotif; } | |
74 | ||
f5671fc3 | 75 | /// Return position |
5f91c9e8 | 76 | inline TVector2 AliMpMotifPosition::Position() const |
77 | { return fPosition; } | |
78 | ||
f5671fc3 | 79 | /// Return dimensions |
5f91c9e8 | 80 | inline TVector2 AliMpMotifPosition::Dimensions() const |
81 | { return fMotif->Dimensions(); } | |
82 | ||
83 | #endif //ALI_MP_MOTIF_POSITION_H |