minimc 0.5.1
Loading...
Searching...
No Matches
TransportMethod Class Referenceabstract

Performs the transport of a Particle after it is born up until its death. More...

#include <TransportMethod.hpp>

Inheritance diagram for TransportMethod:

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 TransportMethodCreate (const pugi::xml_node &root, const World &world)
 Factory method to create new TransportMethod from an XML document and World. More...
 

Detailed Description

Performs the transport of a Particle after it is born up until its death.

Member Function Documentation

◆ Create()

static std::unique_ptr< const TransportMethod > TransportMethod::Create ( const pugi::xml_node &  root,
const World world 
)
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.

Returns
A std::unique_ptr to the constructed TransportMethod (C++ Core Guidelines R.30)

◆ Transport()

virtual Bank TransportMethod::Transport ( Particle p,
EstimatorSetProxy e,
const World w 
) const
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.

Parameters
pParticle to transport
eLightweight proxy to cache scores, owned by a single thread
wWorld the Particle transports within
Returns
Any secondaries produced in the course of transporting p

Implemented in SurfaceTracking, and CellDeltaTracking.


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