Class Acts::Experimental::DetectorVolumeFactory

class DetectorVolumeFactory

A detector volume factory which first constructs the detector volume and then constructs the portals.

This ensures that the std::shared_ptr holding the detector volume is not weak when assigning to the portals.

Public Static Functions

static inline std::shared_ptr<DetectorVolume> construct(const PortalGenerator &portalGenerator, const GeometryContext &gctx, const std::string &name, const Transform3 &transform, std::shared_ptr<VolumeBounds> bounds, const std::vector<std::shared_ptr<Surface>> &surfaces, const std::vector<std::shared_ptr<DetectorVolume>> &volumes, DetectorVolumeUpdator &&detectorVolumeUpdator, SurfaceCandidatesUpdator &&surfaceCandidateUpdator)

Create a detector volume - from factory.

static inline std::shared_ptr<DetectorVolume> construct(const PortalGenerator &portalGenerator, const GeometryContext &gctx, const std::string &name, const Transform3 &transform, std::shared_ptr<VolumeBounds> bounds, SurfaceCandidatesUpdator &&surfaceCandidateUpdator)

Create a detector volume - from factory.