]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/MUONmapping/AliMpMotifSpecial.h
Fixes for object target dependencies
[u/mrichter/AliRoot.git] / MUON / MUONmapping / AliMpMotifSpecial.h
CommitLineData
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: AliMpMotifSpecial.h,v 1.11 2006/05/24 13:58:18 ivana Exp $
dee1d5f1 6
7/// \ingroup motif
8/// \class AliMpMotifSpecial
9/// \brief A special motif with varying pad dimensions
10///
13985652 11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
13#ifndef ALI_MP_MOTIF_SPECIAL_H
14#define ALI_MP_MOTIF_SPECIAL_H
15
2a7ea2e6 16#include "AliMpVMotif.h"
5006ec94 17#include "AliMpExMap.h"
5006ec94 18
2a7ea2e6 19#include <TObjArray.h>
6e97fbb8 20#include <TArrayD.h>
5f91c9e8 21
2998a151 22class TString;
23
5f91c9e8 24class AliMpMotifSpecial : public AliMpVMotif
25{
26 public:
27 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
630711ed 28 AliMpMotifSpecial(TRootIOCtor* ioCtor);
2998a151 29 virtual ~AliMpMotifSpecial();
5f91c9e8 30
31 // Access methods
6e97fbb8 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
5f91c9e8 37 virtual Int_t GetNofPadDimensions() const;
6e97fbb8 38 virtual Double_t GetPadDimensionX(Int_t i) const;
39 virtual Double_t GetPadDimensionY(Int_t i) const;
5f91c9e8 40
41 // Set methods
6e97fbb8 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);
5f91c9e8 46
47 // Geometry
d7885370 48 void CalculateDimensions();
6e97fbb8 49
50 virtual Double_t DimensionX() const;
51 virtual Double_t DimensionY() const;
5f91c9e8 52
53 // Other methods
6e97fbb8 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;
5f91c9e8 61
62 private:
630711ed 63 /// Not implemented
64 AliMpMotifSpecial();
5f91c9e8 65
6e97fbb8 66 // static data members
67 static Int_t fgkPadDimensions2Size; ///< The fPadDimensionsX/Y2 array size
68
5f91c9e8 69 // data members
6e97fbb8 70 Double_t fDimensionX; ///< motif x dimensions
71 Double_t fDimensionY; ///< motif y dimensions
2294822d 72 AliMpExMap fPadDimensionsVector; ///< the vector of pad dimensions
6e97fbb8 73 Int_t fNofPadDimensions2; ///< number of different pad dimensions
74 TArrayD fPadDimensions2X; ///< the vector of x of different pad dimensions
75 TArrayD fPadDimensions2Y; ///< the vector of y of different pad dimensions
5f91c9e8 76
6e97fbb8 77 ClassDef(AliMpMotifSpecial,3) // A motif with its ID
5f91c9e8 78};
79
80#endif //ALI_MP_MOTIF_SPECIAL_H