2#ifndef DLG4_ASSEMBLY_HPP
3#define DLG4_ASSEMBLY_HPP
54 std::enable_if_t<std::is_base_of_v<IStructureBuilder, T>,
59 G4VSolid *SolidConstructor(
const G4String &name)
override {
60 throw std::runtime_error(
61 "Error in StructureBuilderReference::SolidConstructor(const G4String &name) "
62 + this->builder_configs_->name +
" \n" +
63 "SolidConstructor(const G4String &name) is not implemented.");
A type-erased (data shared view) view of a builder or assembly, ie a "structure.".
Assembly & operator=(const Assembly &other)=delete
AssemblyPtr AddStructure(const StructureView &other)
A type-erased (data shared view) view of a builder or assembly, ie a "structure.".
VolumeBuilder: Common functionality for volume builder classes.
AssemblyPtr CreateAssembly(G4String name)
Assembly of strucures, ie builders and/or other assemblies.