ATLAS Offline Software
Loading...
Searching...
No Matches
GeoShapeConverter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// GeoShapeConverter.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRGEOMODELCNV_GEOSHAPRECONVERTER_H
10#define TRKDETDESCRGEOMODELCNV_GEOSHAPRECONVERTER_H
11// Trk
14// Eigen
16
17// STL
18
19class GeoTubs;
20class GeoTube;
21class GeoPcon;
22class GeoBox;
23class GeoShape;
24
25namespace Trk {
26
29class Volume;
30
41
43
44 public:
47 static std::shared_ptr<CylinderVolumeBounds> convert(const GeoTubs* gtub);
48
50 static std::shared_ptr<CylinderVolumeBounds> convert(const GeoTube* gtub);
51
53 static std::shared_ptr<CylinderVolumeBounds> convert(
54 const GeoPcon* gtub, std::vector<double>& zbounds);
55
57 static std::shared_ptr<CuboidVolumeBounds> convert(const GeoBox* gbox);
58
60 std::unique_ptr<Volume> translateGeoShape(
61 const GeoShape* shape, const Amg::Transform3D& trf) const;
62
64 void decodeShape(const GeoShape*) const;
65
66 private:
67};
68
69} // end of namespace Trk
70
71#endif
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Bounds for a cubical Volume, the decomposeToSurfaces method creates a vector of 6 surfaces:
Bounds for a cylindrical Volume, the decomposeToSurfaces method creates a vector of up to 6 surfaces:
void decodeShape(const GeoShape *) const
Decode and dump arbitrary GeoShape for visual inspection.
static std::shared_ptr< CylinderVolumeBounds > convert(const GeoTubs *gtub)
Convert a tubs.
std::unique_ptr< Volume > translateGeoShape(const GeoShape *shape, const Amg::Transform3D &trf) const
Convert an arbitrary GeoShape into Trk::Volume.
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Definition Volume.h:36
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.