|
minimc 0.5.1
|
Performs the transport of a Particle after it is born up until its death. More...
#include <TransportMethod.hpp>

Public Member Functions | |
| virtual | ~TransportMethod () noexcept |
| Virtual destructor (C++ Core Guidelines C.127) | |
| virtual Bank | Transport (Particle &p, EstimatorSetProxy &e, const World &w) const noexcept=0 |
| Moves a Particle through its states until it dies. More... | |
Static Public Member Functions | |
| static std::unique_ptr< const TransportMethod > | Create (const pugi::xml_node &root, const World &world) |
| Factory method to create new TransportMethod from an XML document and World. More... | |
Performs the transport of a Particle after it is born up until its death.
|
static |
Factory method to create new TransportMethod from an XML document and World.
This class is meant to compose the various tracking techniques (surface tracking, delta tracking, etc...), variance reduction techniques (splitting, rouletting, forced collision), and perturbation indirect effects by assigning such tasks to delegates. World is passed to determine if the requested TransportMethod is supported.
std::unique_ptr to the constructed TransportMethod (C++ Core Guidelines R.30)
|
pure virtualnoexcept |
Moves a Particle through its states until it dies.
Running this does not necessarily complete a full history. Only one path from root (initial Particle state) to leaf (dead Particle state) is sampled. Since branching may occur along the random walk, the return value provides the necessary information to complete the full history.
| p | Particle to transport |
| e | Lightweight proxy to cache scores, owned by a single thread |
| w | World the Particle transports within |
Implemented in SurfaceTracking, and CellDeltaTracking.