ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingGeoAlignVisitor.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
9//
10
11#include "Acts/Geometry/TrackingVolume.hpp"
12#include "Acts/Surfaces/Surface.hpp"
13
14namespace ActsTrk{
17
18 void TrackingGeoAlignVisitor::visitVolume(const Acts::TrackingVolume& volume) {
19 if (!volume.isAlignable()) {
20 return;
21 }
22 const auto* placement = dynamic_cast<const IVolumePlacement*>(volume.volumePlacement());
23 if(!placement) {
24 return;
25 }
26 m_aligned += placement->storeAlignedTransforms(m_store);
27 }
28
29 void TrackingGeoAlignVisitor::visitSurface(const Acts::Surface& surface) {
30 if (!surface.isAlignable()) {
31 return;
32 }
33 const auto* placement = dynamic_cast<const IDetectorElement*>(surface.surfacePlacement());
34 if(!placement) {
35 return;
36 }
37 m_aligned += placement->storeAlignedTransforms(m_store);
38 }
40}
Base class interface for the actual readout elements.
ATLAS extension of the VolumePlacementBase interface.
void visitSurface(const Acts::Surface &surface) override final
TrackingGeoAlignVisitor(DetectorAlignStore &store) noexcept
void visitVolume(const Acts::TrackingVolume &volume) override final
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...