CMS 3D CMS Logo

FrameToFrameDerivative.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentParametrization_FrameToFrameDerivative_h
2 #define Alignment_CommonAlignmentParametrization_FrameToFrameDerivative_h
3 
6 
17 
18 class Alignable;
19 
21 public:
34 
35  AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const;
36 
43  const align::RotationType &composeRot,
44  const align::GlobalPoint &objectPos,
45  const align::GlobalPoint &composePos) const;
46 
47 private:
49  inline static AlgebraicMatrix transform(const align::RotationType &);
50 
54  const align::RotationType &composeRot,
55  const align::GlobalVector &posVec) const;
56 
58  AlgebraicVector linearEulerAngles(const AlgebraicMatrix &rotDelta) const;
59 
61  AlgebraicMatrix derivativePosPos(const AlgebraicMatrix &RotDet, const AlgebraicMatrix &RotRot) const;
62 
65  const AlgebraicMatrix &RotRot,
66  const AlgebraicVector &S) const;
67 
69  AlgebraicMatrix derivativeRotRot(const AlgebraicMatrix &RotDet, const AlgebraicMatrix &RotRot) const;
70 };
71 
73  AlgebraicMatrix R(3, 3);
74 
75  R(1, 1) = rot.xx();
76  R(1, 2) = rot.xy();
77  R(1, 3) = rot.xz();
78  R(2, 1) = rot.yx();
79  R(2, 2) = rot.yy();
80  R(2, 3) = rot.yz();
81  R(3, 1) = rot.zx();
82  R(3, 2) = rot.zy();
83  R(3, 3) = rot.zz();
84 
85  return R;
86 }
87 
88 #endif
Vector3DBase< Scalar, GlobalTag >
TkRotation< Scalar >
FrameToFrameDerivative::transform
static AlgebraicMatrix transform(const align::RotationType &)
Helper to transform from RotationType to AlgebraicMatrix.
Definition: FrameToFrameDerivative.h:72
Alignable
Definition: Alignable.h:27
FrameToFrameDerivative::getDerivative
AlgebraicMatrix66 getDerivative(const align::RotationType &objectRot, const align::RotationType &composeRot, const align::GlobalPoint &objectPos, const align::GlobalPoint &composePos) const
Definition: FrameToFrameDerivative.cc:24
FrameToFrameDerivative::frameToFrameDerivative
AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const
Definition: FrameToFrameDerivative.cc:16
FrameToFrameDerivative::derivativeRotRot
AlgebraicMatrix derivativeRotRot(const AlgebraicMatrix &RotDet, const AlgebraicMatrix &RotRot) const
Calculates the derivative DRot/DRot.
Definition: FrameToFrameDerivative.cc:137
FrameToFrameDerivative::linearEulerAngles
AlgebraicVector linearEulerAngles(const AlgebraicMatrix &rotDelta) const
Gets linear approximated euler Angles.
Definition: FrameToFrameDerivative.cc:173
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
Point3DBase< Scalar, GlobalTag >
FrameToFrameDerivative::derivativePosRot
AlgebraicMatrix derivativePosRot(const AlgebraicMatrix &RotDet, const AlgebraicMatrix &RotRot, const AlgebraicVector &S) const
Calculates the derivative DPos/DRot.
Definition: FrameToFrameDerivative.cc:101
FrameToFrameDerivative::derivativePosPos
AlgebraicMatrix derivativePosPos(const AlgebraicMatrix &RotDet, const AlgebraicMatrix &RotRot) const
Calculates the derivative DPos/DPos.
Definition: FrameToFrameDerivative.cc:95
Definitions.h
FrameToFrameDerivative
Definition: FrameToFrameDerivative.h:20
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
AlgebraicMatrix66
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepStd< double, 6, 6 > > AlgebraicMatrix66
Definition: AlgebraicROOTObjects.h:62
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
S
Definition: CSCDBL1TPParametersExtended.h:16
dttmaxenums::R
Definition: DTTMax.h:29
AlgebraicROOTObjects.h