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

Forms segment data associated with a 3D track. More...

#include "src/MOCKernel.h"

Public Member Functions

 SegmentationKernel (TrackGenerator *track_generator)
 Constructor for the SegmentationKernel assigns default values, calls the MOCKernel constructor, and pulls a reference to temporary segment data from the provided TrackGenerator. More...
 
void execute (FP_PRECISION length, Material *mat, long fsr_id, int track_idx, int cmfd_surface_fwd, int cmfd_surface_bwd, FP_PRECISION x_start, FP_PRECISION y_start, FP_PRECISION z_start, FP_PRECISION phi, FP_PRECISION theta)
 Writes segment information to the segmentation data array. More...
 
- Public Member Functions inherited from MOCKernel
 MOCKernel (TrackGenerator *track_generator)
 Constructor for the MOCKernel assigns default values. More...
 
virtual ~MOCKernel ()
 Destructor for MOCKernel.
 
int getCount ()
 Reads and returns the current count. More...
 
void setMaxOpticalLength (FP_PRECISION max_tau)
 Resets the maximum optcal path length for a segment. More...
 
virtual void newTrack (Track *track)
 Prepares an MOCKernel for a new Track. More...
 

Additional Inherited Members

- Protected Attributes inherited from MOCKernel
int _count
 
FP_PRECISION _max_tau
 
int _num_groups
 

Detailed Description

Forms segment data associated with a 3D track.

A SegmentationKernel inherets from MOCKernel and is a kernel which is initialized with a pointer to segment data. Input data of the "execute" function is saved to the segment data, forming explicit segments.

Constructor & Destructor Documentation

◆ SegmentationKernel()

SegmentationKernel::SegmentationKernel ( TrackGenerator track_generator)

Constructor for the SegmentationKernel assigns default values, calls the MOCKernel constructor, and pulls a reference to temporary segment data from the provided TrackGenerator.

Parameters
track_generatorthe TrackGenerator used to pull relevant tracking data from

Member Function Documentation

◆ execute()

void SegmentationKernel::execute ( FP_PRECISION  length,
Material mat,
long  fsr_id,
int  track_idx,
int  cmfd_surface_fwd,
int  cmfd_surface_bwd,
FP_PRECISION  x_start,
FP_PRECISION  y_start,
FP_PRECISION  z_start,
FP_PRECISION  phi,
FP_PRECISION  theta 
)
virtual

Writes segment information to the segmentation data array.

The SegmentationKernel execute function writes segment information to the segmentation data referenced by _segments. Due to restrictions on maximum optical path length, the counter may be incremented by more than one to account for splitting of the segment into segments of allowed optical path length.

Parameters
lengthsegment length
matMaterial associated with the segment
fsr_idthe FSR ID of the FSR associated with the segment
track_idxthe track index in stack
cmfd_surface_fwdCMFD surface at the end of the segment in the forward direction
cmfd_surface_bwdCMFD surface at the end of the segment in the backward direction
x_startx coordinate of the start of the segment
y_starty coordinate of the start of the segment
z_startz coordinate of the start of the sement
phiazimuthal angle of this segment
thetapolar angle of this segment

Implements MOCKernel.


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