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-2024 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& transform(const Acts::GeometryContext& gctx) const override final;
32
34 const Acts::Surface& surface() const override final;
35 Acts::Surface& surface() override final;
36
38 double thickness() const override final;
39
41 void setSurface(const std::shared_ptr<Acts::Surface> surface);
42
44 std::shared_ptr<Acts::Surface> getSurface() const;
45
47 IdentifierHash hash() const;
49 Identifier identify() const override final;
51 DetectorType detectorType() const override final;
53 const TransformCache* transformCache() const;
54 private:
56 std::shared_ptr<Acts::Surface> m_surface{nullptr};
57 };
58
59 inline bool operator<(const std::unique_ptr<SurfaceCache>& a,
60 const std::unique_ptr<SurfaceCache>& b) {
61 return a->hash() < b->hash();
62 }
63 inline bool operator<(const IdentifierHash& a, const std::unique_ptr<SurfaceCache>& b) {
64 return a < b->hash();
65 }
66 inline bool operator<(const std::unique_ptr<SurfaceCache>& a, const IdentifierHash& b) {
67 return a->hash() < b;
68 }
69}
70#endif
71#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 & transform(const Acts::GeometryContext &gctx) const override final
Returns the transformation stored in the TransformCache.
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.
double thickness() const override final
Dummy override to satisfy the interface of the Acts::DetElementBase.
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.