41 std::shared_ptr<const BoundarySurfaceT<TrackingVolume>>;
103 const std::shared_ptr<const TrackingVolumeArray>& containedVolumes =
105 const std::string&
volumeName =
"undefined") {
124 std::vector<std::unique_ptr<Volume::BoundingBox>> boxStore,
125 std::vector<std::unique_ptr<const Volume>> descendants,
128 const std::string&
volumeName =
"undefined") {
130 std::move(htrans), std::move(volbounds), std::move(boxStore),
131 std::move(descendants), top, std::move(volumeMaterial),
volumeName));
148 std::unique_ptr<const LayerArray> containedLayers =
nullptr,
149 std::shared_ptr<const TrackingVolumeArray> containedVolumes =
nullptr,
151 const std::string&
volumeName =
"undefined") {
153 std::move(htrans), std::move(volumeBounds), std::move(volumeMaterial),
154 std::move(containedLayers), std::move(containedVolumes),
178 template <
typename options_t>
181 const Vector3D& direction,
const options_t& options)
const;
195 template <
typename options_t>
198 const Vector3D& direction,
const options_t& options)
const;
210 template <
typename options_t>
213 const Vector3D& direction,
double angle,
const options_t& options)
const;
224 const double tol = 0.)
const;
266 std::shared_ptr<const ISurfaceMaterial> surfaceMaterial,
300 const std::shared_ptr<TrackingVolumeArray>& neighbors,
314 bool checkmaterial =
true);
367 const std::shared_ptr<const TrackingVolumeArray>&
368 containedVolumeArray =
nullptr,
373 std::vector<std::unique_ptr<Volume::BoundingBox>> boxStore,
374 std::vector<std::unique_ptr<const Volume>> descendants,
376 std::shared_ptr<const IVolumeMaterial> volumeMaterial,
390 std::shared_ptr<const Transform3D> htrans,
VolumeBoundsPtr volumeBounds,
391 std::shared_ptr<const IVolumeMaterial> volumeMaterial,
392 std::unique_ptr<const LayerArray> staticLayerArray =
nullptr,
393 std::shared_ptr<const TrackingVolumeArray> containedVolumeArray =
nullptr,
419 void closeGeometry(
const IMaterialDecorator* materialDecorator,
420 std::map<std::string, const TrackingVolume*>& volumeMap,
426 template <
typename T>
472 inline const std::shared_ptr<const IVolumeMaterial>&
478 std::shared_ptr<const IVolumeMaterial>
material) {
490 inline std::shared_ptr<const TrackingVolumeArray>