71 const G4String &name, G4double x_full_size, G4double y_full_size, G4double z_full_size);
85 (G4double unit,
const G4String &name, G4double x_full_size, G4double y_full_size,
86 G4double z_full_size);
101 const G4String &name, G4double x_full_size, G4double y_full_size, G4double edge_z,
117 (G4double unit,
const G4String &name, G4double x_full_size, G4double y_full_size,
118 G4double edge_z, G4double z_delta);
136 const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta,
137 G4double edge_z, G4double z_delta);
154 const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta,
155 G4double edge_z, G4double z_delta);
173 G4double y_edge2, G4double z_edge1, G4double z_edge2);
191 G4double y_edge1, G4double y_edge2, G4double z_edge1, G4double z_edge2);
210 template <
typename T>
217 G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z, G4double z_delta);
219 G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z,
222 G4double y_full_size, G4double edge_z, G4double z_delta);
224 G4double x_full_size, G4double y_full_size, G4double edge_z, G4double z_delta);
226 G4double y_full_size, G4double z_full_size);
228 G4double x_full_size, G4double y_full_size, G4double z_full_size);
230 G4double x_edge2, G4double y_edge1, G4double y_edge2, G4double z_edge1,
233 G4double x_edge1, G4double x_edge2, G4double y_edge1, G4double y_edge2,
234 G4double z_edge1, G4double z_edge2);
271 BoxBuilderPtr SetInternalOffsetDimensioned(G4double x, G4double y, G4double z);
290 BoxBuilder() =
default;
291 BoxBuilder(BoxBuilder &&) noexcept = delete;
Builder class for simple Box solids.
friend BoxBuilderPtr CreateCenteredBoxBuilder(const G4String &name, G4double x_full_size, G4double y_full_size, G4double z_full_size)
Create a Box solid.
BoxBuilderPtr SetXSize(G4double x_size)
friend BoxBuilderPtr CreateDeltasBoxBuilder(const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z, G4double z_delta)
Create a Box solid.
friend BoxBuilderPtr CreateEdgesBoxBuilder(const G4String &name, G4double x_edge1, G4double x_edge2, G4double y_edge1, G4double y_edge2, G4double z_edge1, G4double z_edge2)
Create a Box solid from edge coordinates.
G4VSolid * SolidConstructor(const G4String &name) override
The polymorphic Solid constructor.
friend BoxBuilderPtr CreateBoxBuilder(const G4String &name)
BoxBuilderPtr SetZSize(G4double z_size)
BoxBuilderPtr SetInternalOffset(G4double x, G4double y, G4double z)
BoxBuilderPtr SetZEdgeDelta(G4double z_edge, G4double z_delta)
BoxBuilderPtr SetXEdgeDelta(G4double x_edge, G4double x_delta)
BoxBuilderPtr SetYEdgeDelta(G4double y_edge, G4double y_delta)
BoxBuilderPtr SetXEdges(G4double x_edge1, G4double x_edge2)
BoxBuilderPtr SetYEdges(G4double y_edge1, G4double y_edge2)
friend BoxBuilderPtr CreateZDeltaBoxBuilder(const G4String &name, G4double x_full_size, G4double y_full_size, G4double edge_z, G4double z_delta)
Create a Box solid.
BoxBuilderPtr SetYSize(G4double y_size)
BoxBuilderPtr SetZEdges(G4double z_edge1, G4double z_edge2)
A polymorphic, type-erased builder referencing any specialized builder.
VolumeBuilder: Common functionality for volume builder classes.
A wrapper for std::shared_ptr that allows and facilitates many implicit(i) type conversions.
BoxBuilderPtr CreateCenteredBoxBuilder(const G4String &name, G4double x_full_size, G4double y_full_size, G4double z_full_size)
Create a Box solid.
BoxBuilderPtr CreateDeltasBoxBuilder(const G4String &name, G4double edge_x, G4double x_delta, G4double edge_y, G4double y_delta, G4double edge_z, G4double z_delta)
Create a Box solid.
BoxBuilderPtr CreateEdgesBoxBuilder(const G4String &name, G4double x_edge1, G4double x_edge2, G4double y_edge1, G4double y_edge2, G4double z_edge1, G4double z_edge2)
Create a Box solid from edge coordinates.
BoxBuilderPtr CreateBoxBuilder(const G4String &name)
BoxBuilderPtr CreateZDeltaBoxBuilder(const G4String &name, G4double x_full_size, G4double y_full_size, G4double edge_z, G4double z_delta)
Create a Box solid.