Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
11 namespace Acts{
12  class Surface;
13 }
14 namespace ActsTrk {
15 
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  };
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
ActsTrk::SurfaceCache::m_transformCache
const TransformCache * m_transformCache
Definition: Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h:55
ActsTrk::SurfaceCache::transformCache
const TransformCache * transformCache() const
Returns the associated transform cache.
Definition: SurfaceCache.cxx:15
ActsTrk::SurfaceCache::identify
Identifier identify() const override final
Returns the identifier of the Surface.
Definition: SurfaceCache.cxx:31
ActsTrk::DetectorType
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
Definition: GeometryDefs.h:17
ActsTrk::SurfaceCache::detectorType
DetectorType detectorType() const override final
Returns the detector type.
Definition: SurfaceCache.cxx:32
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
ActsTrk::SurfaceCache
: Helper class to connect the aligned transformations of each active sensor(layer) with the Acts::Sur...
Definition: Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h:23
ActsTrk::SurfaceCache::setSurface
void setSurface(const std::shared_ptr< Acts::Surface > surface)
Cache the pointer to the surface that's constructed from this cache.
Definition: SurfaceCache.cxx:29
Defs.h
ActsTrk::IDetectorElementBase
base class interface providing the bare minimal interface extension.
Definition: IDetectorElement.h:32
Acts
Definition: ChamberAssembleTool.h:18
ActsTrk::SurfaceCache::m_surface
std::shared_ptr< Acts::Surface > m_surface
Definition: Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h:56
ActsTrk::operator<
bool operator<(const std::unique_ptr< SurfaceCache > &a, const std::unique_ptr< SurfaceCache > &b)
Comparison operators.
Definition: Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h:59
ActsTrk::SurfaceCache::surface
const Acts::Surface & surface() const override final
Returns the dereferenced pointer cache.
Definition: SurfaceCache.cxx:19
ActsTrk::SurfaceCache::SurfaceCache
SurfaceCache(const TransformCache *transformCache)
: Standard constructor taking the tranasform cache of the element and the detector type.
Definition: SurfaceCache.cxx:12
ActsTrk::SurfaceCache::hash
IdentifierHash hash() const
Hash of the SurfaceCache which is the same as the one of the TransformCache.
Definition: SurfaceCache.cxx:30
ActsTrk::SurfaceCache::getSurface
std::shared_ptr< Acts::Surface > getSurface() const
Returns the pointer to the cached surface.
Definition: SurfaceCache.cxx:27
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
ActsTrk::SurfaceCache::thickness
double thickness() const override final
Dummy override to satisfy the interface of the Acts::DetElementBase.
Definition: SurfaceCache.cxx:28
TransformCache.h
a
TList * a
Definition: liststreamerinfos.cxx:10
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:55
ActsTrk::SurfaceCache::transform
const Acts::Transform3 & transform(const Acts::GeometryContext &gctx) const override final
Returns the transformation stored in the TransformCache.
Definition: SurfaceCache.cxx:16
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
ActsTrk::TransformCache
Definition: TransformCache.h:21
Identifier
Definition: IdentifierFieldParser.cxx:14