ATLAS Offline Software
AmgTransformPlugin.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
12 inline explicit Transform(const Vector3d& rotationMatrixCol0,
13  const Vector3d& rotationMatrixCol1,
14  const Vector3d& rotationMatrixCol2) {
15  check_template_params();
16  m_matrix.block(0, 0, 3, 1) = rotationMatrixCol0;
17  m_matrix.block(0, 1, 3, 1) = rotationMatrixCol1;
18  m_matrix.block(0, 2, 3, 1) = rotationMatrixCol2;
19  if (int(Mode) == Affine)
20  makeAffine();
21 }
22 
23 inline explicit Transform(const Vector3d& translation) {
24  check_template_params();
25  m_matrix.block(0, 3, 3, 1) = translation;
26  m_matrix.block(0, 0, 3, 3).setIdentity();
27  if (int(Mode) == Affine)
28  makeAffine();
29 }
30 
31 inline explicit Transform(const Matrix<double, 3, 3>& rotation,
32  const Vector3d& translation) {
33  check_template_params();
34  m_matrix.block(0, 0, 3, 3) = rotation;
35  m_matrix.block(0, 3, 3, 1) = translation;
36  if (int(Mode) == Affine)
37  makeAffine();
38 }
39 inline explicit Transform(const Matrix<double, 3, 3>& rotation,
40  const TranslationType& translation) {
41  check_template_params();
42  m_matrix.block(0, 0, 3, 3) = rotation;
43  m_matrix.block(0, 3, 3, 1) = translation.vector();
44  if (int(Mode) == Affine)
45  makeAffine();
46 }
47 
48 inline explicit Transform(const Vector3d& rotationMatrixCol0,
49  const Vector3d& rotationMatrixCol1,
50  const Vector3d& rotationMatrixCol2,
51  const Vector3d& translation) {
52  check_template_params();
53  m_matrix.block(0, 0, 3, 1) = rotationMatrixCol0;
54  m_matrix.block(0, 1, 3, 1) = rotationMatrixCol1;
55  m_matrix.block(0, 2, 3, 1) = rotationMatrixCol2;
56  m_matrix.block(0, 3, 3, 1) = translation;
57  if (int(Mode) == Affine)
58  makeAffine();
59 }
60 
61 #endif
Matrix
Definition: Trigger/TrigT1/TrigT1RPChardware/TrigT1RPChardware/Matrix.h:15
Transform
Transform(const Vector3d &rotationMatrixCol0, const Vector3d &rotationMatrixCol1, const Vector3d &rotationMatrixCol2)
Definition: AmgTransformPlugin.h:12
xAOD::rotation
rotation
Definition: TrackSurface_v1.cxx:15
EventContainers::Mode
Mode
Definition: IdentifiableContainerBase.h:13