Celeritas  0.5.0-86+4a8eea4
Public Member Functions | Static Public Member Functions | List of all members
celeritas::orangeinp::Solid< T > Class Template Referencefinal

A shape that is hollow, is truncated azimuthally, or both. More...

#include <Solid.hh>

Inheritance diagram for celeritas::orangeinp::Solid< T >:
Inheritance graph
[legend]

Public Types

Type aliases
using OptionalRegion = std::optional< T >
 
- Public Types inherited from celeritas::orangeinp::ObjectInterface
using SPConstObject = std::shared_ptr< ObjectInterface const >
 
using VolumeBuilder = detail::VolumeBuilder
 

Public Member Functions

 Solid (std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed)
 Construct with optional components.
 
 Solid (std::string &&label, T &&interior, SolidEnclosedAngle &&enclosed)
 Construct with an enclosed angle.
 
 Solid (std::string &&label, T &&interior, T &&excluded)
 Construct with an excluded interior.
 
std::string_view label () const final
 Get the user-provided label.
 
IntersectRegionInterface const & interior () const final
 Interior intersect region interface for construction and access.
 
IntersectRegionInterface const * excluded () const final
 Access the optional excluded.
 
SolidEnclosedAngle enclosed_angle () const final
 Optional angular restriction.
 
- Public Member Functions inherited from celeritas::orangeinp::SolidBase
NodeId build (VolumeBuilder &) const final
 Construct a volume from this shape.
 
void output (JsonPimpl *) const final
 Output to JSON.
 
- Public Member Functions inherited from celeritas::orangeinp::ObjectInterface
virtual ~ObjectInterface ()=0
 Anchored default destructor.
 

Static Public Member Functions

static SPConstObject or_shape (std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed)
 Return a solid or shape given an optional interior or enclosed angle.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::orangeinp::SolidBase
 SolidBase ()=default
 
 CELER_DEFAULT_COPY_MOVE (SolidBase)
 
- Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface
 ObjectInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (ObjectInterface)
 

Detailed Description

template<class T>
class celeritas::orangeinp::Solid< T >

A shape that is hollow, is truncated azimuthally, or both.

Examples:

// A cone with a thickness of 0.1
Solid s{"cone", Cone{{1, 2}, 10.0}, Cone{{0.9, 1.9}, 10.0}};
// A cylinder segment in z={-2.5, 2.5}, r={0.5, 0.75}, theta={-45, 45} deg
Solid s{"cyl", Cylinder{0.75, 5.0}, Cylinder{0.5, 5.0},
{Turn{0}, Turn{0.25}};
// The east-facing quarter of a cone shape
Solid s{"cone", Cone{{1, 2}, 10.0}, {Turn{-0.125}, Turn{0.25}};
Quantity< TwoPi, real_type > Turn
Quantity denoting a full turn.
Definition: Turn.hh:45
Solid(std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed)
Construct with optional components.
Definition: Solid.cc:138

The documentation for this class was generated from the following files: