|
Celeritas 0.7.0-dev.157+develop.4240ae39b
|
A regular, z-extruded polygon centered on the origin. More...
#include <IntersectRegion.hh>

Public Member Functions | |
| Prism (int num_sides, real_type apothem, real_type halfheight, real_type orientation) | |
| Construct with inner radius (apothem), half height, and orientation. | |
| void | build (IntersectSurfaceBuilder &) const final |
| Build surfaces. | |
| void | output (JsonPimpl *) const final |
| Write output to the given JSON object. | |
| bool | encloses (Prism const &other) const |
| Whether this encloses another prism. | |
| int | num_sides () const |
| Number of sides. | |
| real_type | apothem () const |
| Inner radius. | |
| real_type | halfheight () const |
| Half the Z height. | |
| real_type | orientation () const |
| Rotation factor. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::orangeinp::IntersectRegionInterface | |
| CELER_DEFAULT_COPY_MOVE (IntersectRegionInterface) | |
A regular, z-extruded polygon centered on the origin.
This is the base component of a G4Polyhedra (PGON). The default rotation is to put the first point at \( y = 0 \). Looking at an x-y slice for a prism with apothem a, odd-numbered prisms have a plane at \( x=-a \):
The "orientation" parameter is a scaled counterclockwise rotation on \([0, 1)\), where zero preserves the orientation described above, and unity would replicate the original shape but with the "p0" face being where the "p1" originally was. With a value of 0.5:
|
finalvirtual |
Build surfaces.
Implements celeritas::orangeinp::IntersectRegionInterface.
Write output to the given JSON object.
Implements celeritas::orangeinp::IntersectRegionInterface.