AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpMotifSpecial.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: AliMpMotifSpecial.h,v 1.11 2006/05/24 13:58:18 ivana Exp $
6 
12 
13 #ifndef ALI_MP_MOTIF_SPECIAL_H
14 #define ALI_MP_MOTIF_SPECIAL_H
15 
16 #include "AliMpVMotif.h"
17 #include "AliMpExMap.h"
18 
19 #include <TObjArray.h>
20 #include <TArrayD.h>
21 
22 class TString;
23 
25 {
26  public:
27  AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
28  AliMpMotifSpecial(TRootIOCtor* ioCtor);
29  virtual ~AliMpMotifSpecial();
30 
31  // Access methods
32  virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
33  Double_t& dx, Double_t& dy) const;
34  virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
35  Double_t& dx, Double_t& dy) const;
36 
37  virtual Int_t GetNofPadDimensions() const;
38  virtual Double_t GetPadDimensionX(Int_t i) const;
39  virtual Double_t GetPadDimensionY(Int_t i) const;
40 
41  // Set methods
42  void SetPadDimensions(MpPair_t localIndices,
43  Double_t dx, Double_t dy);
44  void SetPadDimensions(Int_t ixLocal, Int_t iyLocal,
45  Double_t dx, Double_t dy);
46 
47  // Geometry
48  void CalculateDimensions();
49 
50  virtual Double_t DimensionX() const;
51  virtual Double_t DimensionY() const;
52 
53  // Other methods
54  virtual void PadPositionLocal(MpPair_t localIndices,
55  Double_t& posx, Double_t& posy ) const;
56  virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
57  Double_t& posx, Double_t& posy ) const;
58 
59  virtual MpPair_t PadIndicesLocal(
60  Double_t localPosX, Double_t localPosY) const;
61 
62  private:
65 
66  // static data members
67  static Int_t fgkPadDimensions2Size;
68 
69  // data members
70  Double_t fDimensionX;
71  Double_t fDimensionY;
74  TArrayD fPadDimensions2X;
75  TArrayD fPadDimensions2Y;
76 
77  ClassDef(AliMpMotifSpecial,3) // A motif with its ID
78 };
79 
80 #endif //ALI_MP_MOTIF_SPECIAL_H
virtual Double_t DimensionY() const
Return y dimensions.
void SetPadDimensions(MpPair_t localIndices, Double_t dx, Double_t dy)
static Int_t fgkPadDimensions2Size
The fPadDimensionsX/Y2 array size.
A special motif with varying pad dimensions.
virtual Double_t GetPadDimensionX(Int_t i) const
Return the i-th pad x dimension.
Double_t fDimensionX
motif x dimensions
virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const
Return local indices of the pad specified by local position.
virtual Double_t DimensionX() const
Return x dimensions.
Double_t fDimensionY
motif y dimensions
virtual void GetPadDimensionsByIndices(MpPair_t localIndices, Double_t &dx, Double_t &dy) const
Return the dimensions of the pad specified by localIndices.
TArrayD fPadDimensions2Y
the vector of y of different pad dimensions
TArrayD fPadDimensions2X
the vector of x of different pad dimensions
Int_t fNofPadDimensions2
number of different pad dimensions
virtual Double_t GetPadDimensionY(Int_t i) const
Return the i-th pad y dimension.
virtual Int_t GetNofPadDimensions() const
Return the number of pad dimensions.
Abstract base class for a motif with its unique ID and the motif type.
Definition: AliMpVMotif.h:24
AliMpExMap fPadDimensionsVector
the vector of pad dimensions
Int_t MpPair_t
AliMpMotifSpecial()
Not implemented.
virtual void PadPositionLocal(MpPair_t localIndices, Double_t &posx, Double_t &posy) const
Fill local position of the pad specified by local indices.
Helper class making Root persistent TExMap.
Definition: AliMpExMap.h:28
Class that defines the motif properties.