|
Celeritas 0.7.0-dev.194+develop.0df4cab59
|
Construct a universe as part of an ORANGE geometry. More...
#include <ProtoInterface.hh>

Public Types | |
Type aliases | |
| using | SPConstObject = std::shared_ptr< ObjectInterface const > |
| using | SPConstProto = std::shared_ptr< ProtoInterface const > |
| using | VecProto = std::vector< ProtoInterface const * > |
| using | ProtoBuilder = detail::ProtoBuilder |
Public Member Functions | |
| virtual std::string_view | label () const =0 |
| Short unique name of this object. | |
| virtual SPConstObject | interior () const =0 |
| Get the boundary of this universe as an object. | |
| virtual VecProto | daughters () const =0 |
| Get a non-owning set of all daughters referenced by this proto. | |
| virtual void | build (ProtoBuilder &) const =0 |
| Construct a universe input from this object. | |
| virtual void | output (JsonPimpl *) const =0 |
| Write the proto to a JSON object. | |
Protected Member Functions | |
| CELER_DEFAULT_COPY_MOVE (ProtoInterface) | |
Construct a universe as part of an ORANGE geometry.
Each Proto (for proto-universe) will result in a unique UnivId and can be placed into multiple other universes. Each universe has:
The graph of Proto daughters must be acyclic.
|
protecteddefault |
Allow construction and assignment only through subclasses
|
protecteddefault |
Allow construction and assignment only through subclasses
Construct a universe input from this object.
Implemented in celeritas::orangeinp::UnitProto.
|
protected |
Allow construction and assignment only through subclasses
|
pure virtual |
Get a non-owning set of all daughters referenced by this proto.
Implemented in celeritas::orangeinp::UnitProto.
|
pure virtual |
Get the boundary of this universe as an object.
Implemented in celeritas::orangeinp::UnitProto.
|
pure virtual |
Short unique name of this object.
Implemented in celeritas::orangeinp::UnitProto.
Write the proto to a JSON object.
Implemented in celeritas::orangeinp::UnitProto.