2#ifndef DLG4_ASSEMBLY_HPP
3#define DLG4_ASSEMBLY_HPP
62 std::enable_if_t<std::is_base_of_v<IStructureBuilder, T>,
67 G4VSolid *SolidConstructor(
const G4String &name)
override {
68 throw std::runtime_error(
69 "Error in StructureBuilderReference::SolidConstructor(const G4String &name) "
70 + this->builder_configs_->name +
" \n" +
71 "SolidConstructor(const G4String &name) is not implemented.");
A type-erased (data shared view) view of a builder or assembly, ie a "structure.".
friend AssemblyPtr CreateAssembly(G4String name)
Assembly of strucures, ie builders and/or other assemblies.
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.
A wrapper for std::shared_ptr that allows and facilitates many implicit(i) type conversions.
AssemblyPtr CreateAssembly(G4String name)
Assembly of strucures, ie builders and/or other assemblies.
SharedPtr< Assembly > AssemblyPtr