Celeritas
0.5.0-86+4a8eea4
|
Recursively build ORANGE proto-universes from a LogicalVolume
.
More...
#include <ProtoConstructor.hh>
Public Types | |
Type aliases | |
using | SPConstObject = std::shared_ptr< orangeinp::ObjectInterface const > |
using | ObjLv = std::pair< SPConstObject, LogicalVolume const * > |
using | SPUnitProto = std::shared_ptr< orangeinp::UnitProto > |
using | ProtoInput = orangeinp::UnitProto::Input |
Public Member Functions | |
ProtoConstructor (bool verbose) | |
Construct with verbosity setting. | |
SPUnitProto | operator() (LogicalVolume const &pv) |
Construct a proto-universe from a logical volume. | |
Recursively build ORANGE proto-universes from a LogicalVolume
.
The input to this function is the output of LogicalVolumeConverter
. This class is responsible for "placing" the converted PhysicalVolume
by transforming its children. Depending on heuristics, the children are directly inserted into a UnitProto
as volumes (specifically, the logical volume becomes a UnitProto::MaterialInput
), or a LogicalVolume
is turned into a new UnitProto
that can be used in multiple locations.