AliRoot Core  d69033e (d69033e)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpVMotif.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 
4 // $Id$
5 // $MpId: AliMpVMotif.h,v 1.8 2006/05/24 13:58:18 ivana Exp $
6 
12 
13 #ifndef ALI_MP_V_MOTIF_H
14 #define ALI_MP_V_MOTIF_H
15 
16 #include "AliMpEncodePair.h"
17 
18 #include <TObject.h>
19 #include <TString.h>
20 
21 class AliMpMotifType;
22 class AliMpConnection;
23 
24 class AliMpVMotif : public TObject
25 {
26  public:
27  AliMpVMotif(const TString &id, AliMpMotifType *motifType);
28  AliMpVMotif();
29  virtual ~AliMpVMotif();
30 
31  // Access methods
33  TString GetID() const;
34 
36  virtual Int_t GetNofPadDimensions() const=0;
38  virtual Double_t GetPadDimensionX(Int_t i) const=0;
40  virtual Double_t GetPadDimensionY(Int_t i) const=0;
41 
43  virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
44  Double_t& dx, Double_t& dy) const=0;
46  virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
47  Double_t& dx, Double_t& dy) const=0;
48 
49  // Geometry
51  virtual Double_t DimensionX() const=0;
53  virtual Double_t DimensionY() const=0;
54 
55  // Other methods
57  virtual void PadPositionLocal(MpPair_t localIndices,
58  Double_t& posx, Double_t& posy ) const=0;
60  virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
61  Double_t& posx, Double_t& posy ) const=0;
62 
64  Double_t localPosX, Double_t localPosY) const;
65 
67  virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const=0;
68 
69  virtual void Print(Option_t *option) const;
70 
71  private:
73  AliMpVMotif(const AliMpVMotif& right);
75  AliMpVMotif& operator = (const AliMpVMotif& right);
76 
77  // data members
78  TString fID;
80 
81  ClassDef(AliMpVMotif,1) // A motif with its ID
82 };
83 
84 // inline functions
85 
88 
90 inline TString AliMpVMotif::GetID() const {return fID;}
91 
92 #endif //ALI_MP_V_MOTIF_H
virtual Double_t GetPadDimensionY(Int_t i) const =0
Return the i-th pad y dimension.
A connection properties.
virtual Double_t DimensionY() const =0
Return y dimensions.
TString fID
identifier
Definition: AliMpVMotif.h:78
virtual ~AliMpVMotif()
Definition: AliMpVMotif.cxx:65
AliMpMotifType * GetMotifType() const
Return the motif type.
Definition: AliMpVMotif.h:87
TString GetID() const
Return the motif identifier.
Definition: AliMpVMotif.h:90
virtual Double_t DimensionX() const =0
Return x dimensions.
virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const =0
Return local indices of the pad specified by local position.
virtual void PadPositionLocal(MpPair_t localIndices, Double_t &posx, Double_t &posy) const =0
Fill local position of the pad specified by local indices.
Abstract base class for a motif with its unique ID and the motif type.
Definition: AliMpVMotif.h:24
Int_t MpPair_t
virtual Int_t GetNofPadDimensions() const =0
Return the number of pad dimensions.
virtual Double_t GetPadDimensionX(Int_t i) const =0
Return the i-th pad x dimension.
AliMpVMotif & operator=(const AliMpVMotif &right)
Not implemented.
AliMpConnection * FindConnectionByLocalPos(Double_t localPosX, Double_t localPosY) const
Definition: AliMpVMotif.cxx:72
virtual void Print(Option_t *option) const
Definition: AliMpVMotif.cxx:85
AliMpMotifType * fMotifType
the motif type
Definition: AliMpVMotif.h:79
Class that defines the motif properties.
virtual void GetPadDimensionsByIndices(MpPair_t localIndices, Double_t &dx, Double_t &dy) const =0
Return the dimensions of the pad specified by localIndices.