]>
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$ |
dee1d5f1 | 5 | // $MpId: AliMpVMotif.h,v 1.6 2005/08/26 15:43:36 ivana Exp $ |
6 | ||
7 | /// \ingroup motif | |
8 | /// \class AliMpVMotif | |
9 | /// \brief Abstract base class for a motif with its unique ID and the motif type. | |
10 | /// | |
11 | /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay | |
5f91c9e8 | 12 | |
13 | #ifndef ALI_MP_V_MOTIF_H | |
14 | #define ALI_MP_V_MOTIF_H | |
15 | ||
16 | #include <TObject.h> | |
17 | #include <TString.h> | |
18 | #include <TVector2.h> | |
19 | ||
20 | class AliMpMotifType; | |
21 | class AliMpConnection; | |
22 | class AliMpIntPair; | |
23 | ||
24 | class AliMpVMotif : public TObject | |
25 | { | |
26 | public: | |
27 | AliMpVMotif(const TString &id, AliMpMotifType *motifType); | |
28 | AliMpVMotif(); | |
2998a151 | 29 | virtual ~AliMpVMotif(); |
5f91c9e8 | 30 | |
31 | // Access methods | |
32 | AliMpMotifType *GetMotifType() const; | |
33 | TString GetID() const; | |
34 | virtual Int_t GetNofPadDimensions() const=0; | |
35 | virtual TVector2 GetPadDimensions(Int_t i) const=0; | |
36 | virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const=0; | |
37 | ||
38 | // Geometry | |
39 | virtual TVector2 Dimensions() const=0; | |
40 | ||
41 | // Other methods | |
42 | AliMpConnection *FindConnectionByLocalPos(const TVector2& localPos) const; | |
43 | virtual void Print(Option_t *option) const; | |
44 | virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const=0; | |
45 | virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const=0; | |
46 | ||
fb1bf5c0 | 47 | protected: |
48 | AliMpVMotif(const AliMpVMotif& right); | |
49 | AliMpVMotif& operator = (const AliMpVMotif& right); | |
50 | ||
5f91c9e8 | 51 | private: |
52 | // methods | |
53 | ||
54 | // data members | |
55 | TString fID; //identifier | |
56 | AliMpMotifType *fMotifType; //the motif type | |
57 | ||
58 | ClassDef(AliMpVMotif,1) // A motif with its ID | |
59 | }; | |
60 | ||
61 | // inline functions | |
62 | ||
63 | inline AliMpMotifType* AliMpVMotif::GetMotifType() const {return fMotifType;} | |
64 | inline TString AliMpVMotif::GetID() const {return fID;} | |
65 | ||
66 | #endif //ALI_MP_V_MOTIF_H |