ATLAS Offline Software
Loading...
Searching...
No Matches
GeoAlignmentStore.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7void GeoAlignmentStore::setDelta(const GeoAlignableTransform* axf, const GeoTrf::Transform3D& xf) {
8 setDelta(axf, std::make_shared<GeoTrf::Transform3D>(xf));
9}
10
11void GeoAlignmentStore::setDelta(const GeoAlignableTransform* axf, std::shared_ptr<const GeoTrf::Transform3D> trans) {
12 m_deltas->setTransform(axf, std::move(trans));
13}
14void GeoAlignmentStore::setAbsPosition(const GeoNodePositioning* fpv, const GeoTrf::Transform3D& xf) {
15 m_absPositions->setTransform(fpv, xf);
16}
17void GeoAlignmentStore::setDefAbsPosition(const GeoNodePositioning* fpv, const GeoTrf::Transform3D& xf) {
18 m_defAbsPositions->setTransform(fpv, xf);
19}
21 m_deltas->lock();
22}
27
28
30 return (other.m_absPositions == m_absPositions || m_absPositions->append(*other.m_absPositions)) &&
31 (m_defAbsPositions == other.m_defAbsPositions || m_defAbsPositions->append(*other.m_defAbsPositions)) &&
32 (other.m_deltas == m_deltas || m_deltas->append(*other.m_deltas));
33}
34
45 m_absPositions = std::make_unique<PositioningMap>();
46 m_defAbsPositions = std::make_unique<PositioningMap>();
47}
PositioningMapPtr m_absPositions
GeoModel::TransientConstSharedPtr< PositioningMap > PositioningMapPtr
bool append(const GeoAlignmentStore &other)
: Copies, the deltas, the absolute and the nominal positions of the other map to this object.
PositioningMapPtr getDefAbsPositions() const
PositioningMapPtr getAbsPositions() const
virtual void setDelta(const GeoAlignableTransform *alignableNode, const GeoTrf::Transform3D &transform) override
: Assign the alignment delta transform with a alignable GeoModel node
void clearPosCache()
: Clears the position cache
GeoModel::TransientConstSharedPtr< DeltaMap > DeltaMapPtr
virtual void setDefAbsPosition(const GeoNodePositioning *fullPhysVol, const GeoTrf::Transform3D &unAlignedTrf) override final
: Caches the aboslute transform of the perfectly aligned physical volume.
PositioningMapPtr m_defAbsPositions
void lockDelta()
: Locks the delta transform cache
GeoAlignmentStore()=default
Default constructor.
virtual void setAbsPosition(const GeoNodePositioning *fullPhysVol, const GeoTrf::Transform3D &physVolTrf) override final
: Caches the absolute transform including the alignment distortions that's associated with the full p...
void lockPosCache()
: Locks the position cache
DeltaMapPtr getDeltas() const