ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONREADOUTGEOMETRY_SurfaceCache_H
6#define MUONREADOUTGEOMETRY_SurfaceCache_H
7#ifndef SIMULATIONBASE
8#include <ActsGeoUtils/Defs.h>
10
11namespace Acts{
12 class Surface;
13}
14namespace ActsTrk {
15
22
24
25 public:
29
31 const Acts::Transform3& localToGlobalTransform(const Acts::GeometryContext& gctx) const override final;
32
34 const Acts::Surface& surface() const override final;
35 Acts::Surface& surface() override final;
36
38 void setSurface(const std::shared_ptr<Acts::Surface> surface);
39
41 std::shared_ptr<Acts::Surface> getSurface() const;
42
44 IdentifierHash hash() const;
46 Identifier identify() const override final;
48 DetectorType detectorType() const override final;
50 const TransformCache* transformCache() const;
52 bool isSensitive() const override final;
53 private:
55 std::shared_ptr<Acts::Surface> m_surface{nullptr};
56 };
57
58 inline bool operator<(const std::unique_ptr<SurfaceCache>& a,
59 const std::unique_ptr<SurfaceCache>& b) {
60 return a->hash() < b->hash();
61 }
62 inline bool operator<(const IdentifierHash& a, const std::unique_ptr<SurfaceCache>& b) {
63 return a < b->hash();
64 }
65 inline bool operator<(const std::unique_ptr<SurfaceCache>& a, const IdentifierHash& b) {
66 return a->hash() < b;
67 }
68}
69#endif
70#endif
static Double_t a
base class interface providing the bare minimal interface extension.
Identifier identify() const override final
Returns the identifier of the Surface.
SurfaceCache(const TransformCache *transformCache)
: Standard constructor taking the tranasform cache of the element and the detector type.
const Acts::Transform3 & localToGlobalTransform(const Acts::GeometryContext &gctx) const override final
Returns the transformation stored in the TransformCache.
bool isSensitive() const override final
Returns whether the detector element is sensitive.
const Acts::Surface & surface() const override final
Returns the dereferenced pointer cache.
DetectorType detectorType() const override final
Returns the detector type.
const TransformCache * transformCache() const
Returns the associated transform cache.
void setSurface(const std::shared_ptr< Acts::Surface > surface)
Cache the pointer to the surface that's constructed from this cache.
std::shared_ptr< Acts::Surface > getSurface() const
Returns the pointer to the cached surface.
IdentifierHash hash() const
Hash of the SurfaceCache which is the same as the one of the TransformCache.
This is a "hash" representation of an Identifier.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
bool operator<(const std::unique_ptr< SurfaceCache > &a, const std::unique_ptr< SurfaceCache > &b)
Comparison operators.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.