An open source method of characteristics neutron transport code.
TrackTraversingAlgorithms.h File Reference

Contains classes which extend the TraverseSegments class to apply algorithms to Tracks and possibly their segments. More...

#include "TraverseSegments.h"
#include "ExpEvaluator.h"

Go to the source code of this file.

Classes

class  MaxOpticalLength
 A class used to calculate the maximum optical path length across all segments in the Geometry. More...
 
class  SegmentCounter
 A class used to count the number of segments on each Track and the maximum number of segments per Track. More...
 
class  SegmentSplitter
 A class used to split explicit segments along Tracks. More...
 
class  VolumeCalculator
 A class used to calculate FSR volumes. More...
 
class  CentroidGenerator
 A class used to calculate the centroids of each FSR. More...
 
class  LinearExpansionGenerator
 A class used to calculate the linear expansion coeffs of each FSR. More...
 
class  TransportSweep
 A class used to apply the MOC transport equations to all segments. More...
 
class  DumpSegments
 A class used to write tracking data to a file. More...
 
class  ReadSegments
 A class used to read tracking data from a file. More...
 
class  TransportSweepOTF
 A class used to ray trace and apply the MOC transport equations simultaneously On-The-Fly. More...
 
class  RecenterSegments
 A class used to recenter Segments once their related FSR centroid is known. More...
 
class  PrintSegments
 A class used to write tracking data to a file. More...
 

Detailed Description

Contains classes which extend the TraverseSegments class to apply algorithms to Tracks and possibly their segments.

The classes defined within this file extend the TraverseSegments class so that they are capable of using the abstract looping defined in TraverseSegments::loopOverTracks(...). Each class contains a constructor which pulls data from a provided TrackGenerator, an onTrack(...) function which specifies what to do on each Track, and an execute() function which applies the algorithm. The execute() function should contain a call to TraverseSegments::loopOverTracks(...). To specify a behavior to be applied once for each segment, the kernel should be initialized using the TraverseSegments::getKernel<KernelType>() function and passed to TraverseSegments::loopOverTracks().

Date
February 23, 2016
Author
Geoffrey Gunow, MIT, Course 22 (geogu.nosp@m.now@.nosp@m.mit.e.nosp@m.du)