Skip to content

TrkAlgebraUtils - Include EventPrimitives before Eigen

Hi,

I've noticed that Eigen modules are included before the extensions can be loaded. This can lead to some head-against-screen-banging problems as the order of include files in downstream. In particular, I try to track down the issue

In file included from /home/user/FixDigi_PhaseII/athena/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonStation.h:13,
                 from /home/user/FixDigi_PhaseII/athena/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonStation.cxx:10:
/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/2021-10-10T2101/Athena/22.0.46/InstallArea/x86_64-centos7-gcc8-opt/src/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesHelpers.h: In function 'double Amg::angle(const Vector3D&, const Vector3D&)':
/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/2021-10-10T2101/Athena/22.0.46/InstallArea/x86_64-centos7-gcc8-opt/src/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesHelpers.h:42:11: error: 'const Vector3D' {aka 'const class Eigen::Matrix<double, 3, 1>'} has no member named 'mag'; did you mean 'imag'?
  dp /= v1.mag() * v2.mag();
           ^~~
           imag
/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/2021-10-10T2101/Athena/22.0.46/InstallArea/x86_64-centos7-gcc8-opt/src/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesHelpers.h:42:22: error: 'const Vector3D' {aka 'const class Eigen::Matrix<double, 3, 1>'} has no member named 'mag'; did you mean 'imag'?
  dp /= v1.mag() * v2.mag();
                      ^~~
                      imag
/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/2021-10-10T2101/Athena/22.0.46/InstallArea/x86_64-centos7-gcc8-opt/src/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesHelpers.h: In function 'void Amg::setPhi(Amg::Vector3D&, double)':
/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/2021-10-10T2101/Athena/22.0.46/InstallArea/x86_64-centos7-gcc8-opt/src/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesHelpers.h:67:16: error: 'Amg::Vector3D' {aka 'class Eigen::Matrix<double, 3, 1>'} has no member named 'perp'; did you mean 'exp'?
  double xy = v.perp(); 

in !46928 (closed)

Intermediate fix to ATLINFR-4280

Edited by Johannes Junggeburth

Merge request reports