An open source method of characteristics neutron transport code.
SegmentSplitter Class Reference

A class used to split explicit segments along Tracks. More...

#include <TrackTraversingAlgorithms.h>

Public Member Functions

 SegmentSplitter (TrackGenerator *track_generator)
 Constructor for SegmentSplitter calls the TraverseSegments constructor. More...
 
void execute ()
 Splits segments stored explicity along each Track. More...
 
void onTrack (Track *track, segment *segments)
 Segments for the provided Track are split so that no segment has a larger optical path length than the maximum optical path length. More...
 

Additional Inherited Members

- Protected Member Functions inherited from TraverseSegments
 TraverseSegments (TrackGenerator *track_generator)
 Constructor for the TraverseSegments class assigns the TrackGenerator and pulls relevant information from it.
 
virtual ~TraverseSegments ()
 Destructor for TraverseSegments.
 
void loopOverTracks (MOCKernel *kernel)
 Loops over Tracks, applying the provided kernel to all segments and the functionality described in onTrack(...) to all Tracks. More...
 
void loopOverTracksByStackTwoWay (TransportKernel *kernel)
 Loops over all 3D Tracks using axial on-the-fly ray tracking by z-stack, going forward then backward on each 3D Track. More...
 
template<class KernelType >
MOCKernelgetKernel ()
 
- Protected Attributes inherited from TraverseSegments
TrackGenerator_track_generator
 
TrackGenerator3D_track_generator_3D
 
double * _global_z_mesh
 
int _mesh_size
 
segmentationType _segment_formation
 

Detailed Description

A class used to split explicit segments along Tracks.

"src/TrackTraversingAlgorithms.h"

A SegmentSplitter imports a maximum optical path length from the provided TrackGenerator and then ensures all segments have an optical path length less than the maximum optical path length by splitting segments stored in the Tracks.

Constructor & Destructor Documentation

◆ SegmentSplitter()

SegmentSplitter::SegmentSplitter ( TrackGenerator track_generator)

Constructor for SegmentSplitter calls the TraverseSegments constructor.

Parameters
track_generatorThe TrackGenerator to pull tracking information from

Member Function Documentation

◆ execute()

void SegmentSplitter::execute ( )
virtual

Splits segments stored explicity along each Track.

No MOCKernels are initialized for this function.

Implements TraverseSegments.

◆ onTrack()

void SegmentSplitter::onTrack ( Track track,
segment segments 
)
virtual

Segments for the provided Track are split so that no segment has a larger optical path length than the maximum optical path length.

Parameters
trackThe Track whose segments are potentially split
segmentsThe segments associated with the Track

Implements TraverseSegments.


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