67 const G4String &name, G4double x_full_size, G4double y_full_size, G4double z_full_size);
81 (G4double unit,
const G4String &name, G4double x_full_size, G4double y_full_size,
82 G4double z_full_size);
97 const G4String &name, G4double x_full_size, G4double y_full_size, G4double edge_z,
113 (G4double unit,
const G4String &name, G4double x_full_size, G4double y_full_size,
114 G4double edge_z, G4double z_delta);
132 const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta,
133 G4double edge_z, G4double z_delta);
150 const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta,
151 G4double edge_z, G4double z_delta);
169 G4double y_edge2, G4double z_edge1, G4double z_edge2);
187 G4double y_edge1, G4double y_edge2, G4double z_edge1, G4double z_edge2);
208 template <
typename T>
215 G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z, G4double z_delta);
217 G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z,
220 G4double y_full_size, G4double edge_z, G4double z_delta);
222 G4double x_full_size, G4double y_full_size, G4double edge_z, G4double z_delta);
224 G4double y_full_size, G4double z_full_size);
226 G4double x_full_size, G4double y_full_size, G4double z_full_size);
228 G4double x_edge2, G4double y_edge1, G4double y_edge2, G4double z_edge1,
231 G4double x_edge1, G4double x_edge2, G4double y_edge1, G4double y_edge2,
232 G4double z_edge1, G4double z_edge2);
266 BoxBuilder SetXSizeDimensioned(G4double x_size);
267 BoxBuilder SetYSizeDimensioned(G4double y_size);
268 BoxBuilder SetZSizeDimensioned(G4double z_size);
269 BoxBuilder SetInternalOffsetDimensioned(G4double x, G4double y, G4double z);
288 BoxBuilderCore() =
default;
289 BoxBuilderCore(BoxBuilderCore &&) noexcept = delete;
Builder class for simple Box solids.
BoxBuilder SetZEdges(G4double z_edge1, G4double z_edge2)
BoxBuilder SetYEdgeDelta(G4double y_edge, G4double y_delta)
G4VSolid * SolidConstructor(const G4String &name) override
The polymorphic Solid constructor.
BoxBuilder SetInternalOffset(G4double x, G4double y, G4double z)
BoxBuilder SetXEdgeDelta(G4double x_edge, G4double x_delta)
BoxBuilder SetZEdgeDelta(G4double z_edge, G4double z_delta)
BoxBuilder SetYSize(G4double y_size)
BoxBuilder SetYEdges(G4double y_edge1, G4double y_edge2)
BoxBuilder SetXSize(G4double x_size)
BoxBuilder SetZSize(G4double z_size)
BoxBuilder SetXEdges(G4double x_edge1, G4double x_edge2)
VolumeBuilder: Common functionality for volume builder classes.
A polymorphic, type-erased "view" of any specialized builder.
BoxBuilder CreateEdgesBoxBuilder(const G4String &name, const G4double x_edge1, const G4double x_edge2, const G4double y_edge1, const G4double y_edge2, const G4double z_edge1, const G4double z_edge2)
Create a Box solid from edge coordinates.
BoxBuilder CreateZDeltaBoxBuilder(const G4double unit, const G4String &name, const G4double x_full_size, const G4double y_full_size, const G4double edge_z, const G4double z_delta)
Create a Box solid.
BoxBuilder CreateDeltasBoxBuilder(const G4double unit, const G4String &name, const G4double edge_x, const G4double x_delta, const G4double edge_y, const G4double y_delta, const G4double edge_z, const G4double z_delta)
Create a Box solid.
BoxBuilder CreateCenteredBoxBuilder(const G4double unit, const G4String &name, const G4double x_full_size, const G4double y_full_size, const G4double z_full_size)
Create a Box solid.
BoxBuilder CreateBoxBuilder(const G4String &name)
Create an unconfigured Box Solid, for use with SetXEdges() etc... Uses the global default unit unless...
_internals_::BoxBuilder BoxBuilder
Shared pointer to _internals_::BoxBuilderCore.