Celeritas  0.5.0-86+4a8eea4
Public Member Functions | Protected Member Functions | List of all members
celeritas::orangeinp::PolySolidBase Class Reference

A segmented stack of same-type shapes with an azimuthal truncation. More...

#include <PolySolid.hh>

Inheritance diagram for celeritas::orangeinp::PolySolidBase:
Inheritance graph
[legend]

Public Member Functions

 ~PolySolidBase () override
 Anchored default virtual destructor.
 
std::string_view label () const final
 Get the user-provided label.
 
PolySegments const & segments () const
 Axial segments.
 
SolidEnclosedAngle enclosed_angle () const
 Optional azimuthal angular restriction.
 
- Public Member Functions inherited from celeritas::orangeinp::ObjectInterface
virtual ~ObjectInterface ()=0
 Anchored default destructor.
 
virtual NodeId build (VolumeBuilder &) const =0
 Construct a volume from this object.
 
virtual void output (JsonPimpl *) const =0
 Write the region to a JSON object.
 

Protected Member Functions

 PolySolidBase (std::string &&label, PolySegments &&segments, SolidEnclosedAngle &&enclosed)
 Build with label, axial segments, optional restriction.
 
 CELER_DEFAULT_COPY_MOVE (PolySolidBase)
 
- Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface
 ObjectInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (ObjectInterface)
 

Additional Inherited Members

- Public Types inherited from celeritas::orangeinp::ObjectInterface
using SPConstObject = std::shared_ptr< ObjectInterface const >
 
using VolumeBuilder = detail::VolumeBuilder
 

Detailed Description

A segmented stack of same-type shapes with an azimuthal truncation.

Member Function Documentation

◆ CELER_DEFAULT_COPY_MOVE()

celeritas::orangeinp::PolySolidBase::CELER_DEFAULT_COPY_MOVE ( PolySolidBase  )
protected

Allow construction and assignment only through daughter classes


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