Celeritas 0.6.0-67+develop.47f47c88
|
Define the azimuthal truncation of a solid. More...
#include <Solid.hh>
Public Types | |
Type aliases | |
using | SenseWedge = std::pair< Sense, InfAziWedge > |
Public Member Functions | |
EnclosedAzi ()=default | |
Default to "all angles". | |
EnclosedAzi (Turn start, Turn stop) | |
Construct from a starting angle and stop angle. | |
SenseWedge | make_sense_region () const |
Construct a wedge shape to intersect (inside) or subtract (outside). | |
constexpr | operator bool () const |
Whether the enclosed angle is not a full circle. | |
Turn | start () const |
Starting angle. | |
Turn | stop () const |
stop angle | |
Define the azimuthal truncation of a solid.
This is a pie slice infinite along the z axis and outward from it. Its cross section is in the x-y plane, and a start angle of zero corresponding to the +x axis. An interior angle of one results in no radial exclusion from the resulting solid. A interior angle of more than 0.5 turns (180 degrees) results in a wedge being subtracted from the solid, and an angle of less than or equal to 0.5 turns results in the intersection of the solid with a wedge.
auto celeritas::orangeinp::EnclosedAzi::make_sense_region | ( | ) | const |
Construct a wedge shape to intersect (inside) or subtract (outside).
The resulting wedge must be less than a half turn.
Whether the enclosed angle is not a full circle.
Note that the constructor does not allow a full circle, so only the default constructor can set values of zero and 1.