Warning, file /include/Acts/Plugins/Geant4/Geant4DetectorElement.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/Algebra.hpp"
0012 #include "Acts/Geometry/DetectorElementBase.hpp"
0013 #include "Acts/Geometry/GeometryContext.hpp"
0014 #include "Acts/Surfaces/Surface.hpp"
0015
0016 #include <memory>
0017
0018 class G4VPhysicalVolume;
0019
0020 namespace Acts {
0021
0022 class ISurfaceMaterial;
0023 class Surface;
0024
0025
0026
0027
0028
0029 class Geant4DetectorElement : public DetectorElementBase {
0030 public:
0031
0032 using ContextType = GeometryContext;
0033
0034
0035
0036
0037
0038
0039 Geant4DetectorElement(std::shared_ptr<Surface> surface,
0040 const G4VPhysicalVolume& g4physVol,
0041 const Transform3& toGlobal, double thickness);
0042
0043
0044
0045
0046 const Transform3& transform(const GeometryContext& gctx) const override;
0047
0048
0049 const Surface& surface() const override;
0050
0051
0052 Surface& surface() override;
0053
0054
0055 double thickness() const override;
0056
0057
0058 const G4VPhysicalVolume& g4PhysicalVolume() const;
0059
0060 private:
0061
0062 std::shared_ptr<Surface> m_surface;
0063
0064 const G4VPhysicalVolume* m_g4physVol{nullptr};
0065
0066 Transform3 m_toGlobal;
0067
0068 double m_thickness{0.};
0069 };
0070
0071 }