Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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 constinterior () const final
 Interior intersect region interface for construction and access.
 
IntersectRegionInterface constexcluded () 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
 CELER_DEFAULT_COPY_MOVE (SolidBase)
 
- Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface
 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:53
A closed truncated cone along the z axis centered on the origin.
Definition IntersectRegion.hh:106
A shape that is hollow, is truncated azimuthally, or both.
Definition Solid.hh:124
Solid(std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed)
Construct with optional components.
Definition Solid.cc:137

Member Function Documentation

◆ enclosed_angle()

template<class T >
SolidEnclosedAngle celeritas::orangeinp::Solid< T >::enclosed_angle ( ) const
inlinefinalvirtual

Optional angular restriction.

Implements celeritas::orangeinp::SolidBase.

◆ excluded()

template<class T >
IntersectRegionInterface const * celeritas::orangeinp::Solid< T >::excluded ( ) const
finalvirtual

Access the optional excluded.

Implements celeritas::orangeinp::SolidBase.

◆ interior()

template<class T >
IntersectRegionInterface const & celeritas::orangeinp::Solid< T >::interior ( ) const
inlinefinalvirtual

Interior intersect region interface for construction and access.

Implements celeritas::orangeinp::SolidBase.

◆ label()

template<class T >
std::string_view celeritas::orangeinp::Solid< T >::label ( ) const
inlinefinalvirtual

Get the user-provided label.

Implements celeritas::orangeinp::ObjectInterface.


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