![]() |
ATLAS Offline Software
|
Auxiliary class to store the aligned transforms of the volume and of the associated portals. More...
Public Types | |
| enum class | CacheFlags : std::uint8_t { volumeLocToGlob , volumeGlobToLoc , portalLocToGlob } |
| Flag to indicate which kind of transform is handled by the AlignedCache. More... | |
Public Member Functions | |
| VolumeGeoPositioning (const CacheFlags flags, const DetectorType type, const VolumePlacement *parent) | |
| Constructor for the cache storing the of the volume itself. | |
| VolumeGeoPositioning (const VolumePlacement *parent, const std::size_t portalIdx) | |
| Constructor for the cache storing the transform of the alignable portals. | |
| virtual Amg::Transform3D | fetchTransform (const DetectorAlignStore *store) const override |
| Fetch the transform to store it in the detector alignment cache. | |
| IdentifierHash | hash () const |
| Returns the sensor hash of this transformation cache. | |
| const Amg::Transform3D & | getTransform (const DetectorAlignStore *store) const |
| Returns the matching transformation from the alignment store. | |
| const Amg::Transform3D & | getTransform (const GeometryContext &gctx) const |
| returns the cached transform from the Acts Geometry context | |
| const Amg::Transform3D & | getTransform (const Acts::GeometryContext &tgContext) const |
| returns the cached transform from the Acts Geometry context | |
| bool | storeTransform (DetectorAlignStore &store) const |
| Store the final transform in the mutable alignment store. | |
| virtual void | releaseNominalCache () const |
| resets the nominal cache associated with the detector element | |
| DetectorType | detectorType () const |
| returns the detector type of the cache | |
Private Types | |
| using | TicketCounter = detail::TrfStoreTicketCounter |
Private Attributes | |
| const VolumePlacement * | m_parent {nullptr} |
| Back reference to the parent VolumePlacement. | |
| CacheFlags | m_flags {CacheFlags::portalLocToGlob} |
| Flags to indicate which transform type is handled. | |
| const IdentifierHash | m_hash {} |
| const DetectorType | m_type {DetectorType::UnDefined} |
| const unsigned int | m_clientNo {TicketCounter::drawTicket(m_type)} |
| Slot at which the aligned transforms can be put in the external DetectorAlignStore. | |
| CxxUtils::CachedUniquePtrT< Amg::Transform3D > m_nomCache | ATLAS_THREAD_SAFE {} |
| Cache to hold the nominal transform, if no DetectorAlignStore is provided The cache is automatically erased as soon as an instantiated store is presented to the class. | |
Auxiliary class to store the aligned transforms of the volume and of the associated portals.
Definition at line 86 of file VolumePlacement.h.
|
privateinherited |
Definition at line 92 of file TransformCache.h.
|
strong |
Flag to indicate which kind of transform is handled by the AlignedCache.
| Enumerator | |
|---|---|
| volumeLocToGlob | |
| volumeGlobToLoc | |
| portalLocToGlob | |
Definition at line 89 of file VolumePlacement.h.
|
explicit |
Constructor for the cache storing the of the volume itself.
| flags | Flag indicating local -> global or global -> local |
| type | In which detector transform store is the cache appended |
| parent | Pointer to the parent creating the cache |
Definition at line 13 of file VolumePlacement.cxx.
|
explicit |
Constructor for the cache storing the transform of the alignable portals.
| parent | Pointer to the parent creating the cache |
| portalidx | Index of the portal represented by the cache |
Definition at line 18 of file VolumePlacement.cxx.
|
inherited |
|
overridevirtual |
Fetch the transform to store it in the detector alignment cache.
Implements ActsTrk::AlignableGeoPositioning.
Definition at line 23 of file VolumePlacement.cxx.
|
inherited |
returns the cached transform from the Acts Geometry context
| tgContext | The geometry context to be unpacked to the ATLAS geometry context |
|
inherited |
Returns the matching transformation from the alignment store.
If a nullptr is given, then it's equivalent to the case that the transformation is pointing to a perfectly aligned surface. In this case, the internal nominal transformation cache is invoked.
| store | Pointer to the detector aligment store |
|
inherited |
returns the cached transform from the Acts Geometry context
| gctx | The geometry context holding the aligned transforms |
|
inherited |
Returns the sensor hash of this transformation cache.
|
virtualinherited |
resets the nominal cache associated with the detector element
Reimplemented in ActsTrk::IReadoutSurfacePositioning.
Definition at line 22 of file TransformCache.cxx.
|
inherited |
Store the final transform in the mutable alignment store.
Returns true whether a new transform was stored
| store | The reference to the store where the cache stores its transform |
Definition at line 26 of file TransformCache.cxx.
|
mutableprivateinherited |
Cache to hold the nominal transform, if no DetectorAlignStore is provided The cache is automatically erased as soon as an instantiated store is presented to the class.
Definition at line 99 of file TransformCache.h.
|
privateinherited |
Slot at which the aligned transforms can be put in the external DetectorAlignStore.
Definition at line 95 of file TransformCache.h.
|
private |
Flags to indicate which transform type is handled.
Definition at line 114 of file VolumePlacement.h.
|
privateinherited |
Definition at line 90 of file TransformCache.h.
|
private |
Back reference to the parent VolumePlacement.
Definition at line 112 of file VolumePlacement.h.
|
privateinherited |
Definition at line 91 of file TransformCache.h.