ATLAS Offline Software
AmgTransformPlugin.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // GeoPrimitivesHelpers.h, (c) ATLAS Detector software
8 
9 #ifndef EVENTPRIMITIVES_AMGTRANSFORMPLUGIN_H
10 #define EVENTPRIMITIVES_AMGTRANSFORMPLUGIN_H
11 
24 inline explicit Transform(const Vector3d& translation) {
25  check_template_params();
26  m_matrix.block(0, 3, 3, 1) = translation;
27  m_matrix.block(0, 0, 3, 3).setIdentity();
28  if (int(Mode) == Affine)
29  makeAffine();
30 }
31 
32 inline explicit Transform(const Matrix<double, 3, 3>& rotation,
33  const Vector3d& translation) {
34  check_template_params();
35  m_matrix.block(0, 0, 3, 3) = rotation;
36  m_matrix.block(0, 3, 3, 1) = translation;
37  if (int(Mode) == Affine)
38  makeAffine();
39 }
40 inline explicit Transform(const Matrix<double, 3, 3>& rotation,
41  const TranslationType& translation) {
42  check_template_params();
43  m_matrix.block(0, 0, 3, 3) = rotation;
44  m_matrix.block(0, 3, 3, 1) = translation.vector();
45  if (int(Mode) == Affine)
46  makeAffine();
47 }
48 
49 inline explicit Transform(const Vector3d& rotationMatrixCol0,
50  const Vector3d& rotationMatrixCol1,
51  const Vector3d& rotationMatrixCol2,
52  const Vector3d& translation) {
53  check_template_params();
54  m_matrix.block(0, 0, 3, 1) = rotationMatrixCol0;
55  m_matrix.block(0, 1, 3, 1) = rotationMatrixCol1;
56  m_matrix.block(0, 2, 3, 1) = rotationMatrixCol2;
57  m_matrix.block(0, 3, 3, 1) = translation;
58  if (int(Mode) == Affine)
59  makeAffine();
60 }
61 
62 #endif
Matrix
Definition: Trigger/TrigT1/TrigT1RPChardware/TrigT1RPChardware/Matrix.h:15
xAOD::rotation
rotation
Definition: TrackSurface_v1.cxx:15
EventContainers::Mode
Mode
Definition: IdentifiableContainerBase.h:13
Transform
Transform(const Vector3d &translation)
Affine Transform constuctors construct an augmented Matrix R R R T R R R T R R R T 0 0 0 1 Where R is...
Definition: AmgTransformPlugin.h:24