8 #ifndef TRAVERSE_SEGMENTS_H_ 9 #define TRAVERSE_SEGMENTS_H_ 41 void loopOverTracksExplicit(
MOCKernel* kernel);
42 void loopOverTracksByTrackOTF(
MOCKernel* kernel);
43 void loopOverTracksByStackOTF(
MOCKernel* kernel);
47 void traceSegmentsOTF(
Track* flattened_track,
Point* start,
49 void traceStackOTF(
Track* flattened_track,
int polar_index,
52 void traceStackTwoWay(
Track* flattened_track,
int polar_index,
56 int findMeshIndex(
double* values,
int size,
double val,
int sign);
78 virtual void onTrack(
Track* track,
segment* segments) = 0;
84 template <
class KernelType>
101 virtual void execute() = 0;
TraverseSegments(TrackGenerator *track_generator)
Constructor for the TraverseSegments class assigns the TrackGenerator and pulls relevant information ...
Definition: TraverseSegments.cpp:7
virtual ~TraverseSegments()
Destructor for TraverseSegments.
Definition: TraverseSegments.cpp:26
double * _global_z_mesh
Definition: TraverseSegments.h:65
The TrackGenerator is dedicated to generating and storing Tracks which cyclically wrap across the Geo...
Definition: TrackGenerator.h:36
Class to represent a 2D/3D point in space.
Definition: Point.h:24
segmentationType
The types of Track segmentation supported by OpenMOC.
Definition: segmentation_type.h:15
void loopOverTracksByStackTwoWay(TransportKernel *kernel)
Loops over all 3D Tracks using axial on-the-fly ray tracking by z-stack, going forward then backward ...
Definition: TraverseSegments.cpp:968
TrackGenerator * _track_generator
Definition: TraverseSegments.h:61
void loopOverTracks(MOCKernel *kernel)
Loops over Tracks, applying the provided kernel to all segments and the functionality described in on...
Definition: TraverseSegments.cpp:39
A segment represents a line segment within a single flat source region along a track.
Definition: Track.h:27
An MOCKernel object specifies a functionality to apply to MOC segments.
Definition: MOCKernel.h:41
Applies transport equations to segment data.
Definition: MOCKernel.h:162
int _mesh_size
Definition: TraverseSegments.h:68
The TrackGenerator3D class.
Forms segment data associated with a 3D track.
Definition: MOCKernel.h:140
Definition: segmentation_type.h:21
segmentationType _segment_formation
Definition: TraverseSegments.h:71
An TraverseSegments object defines how to loop over Tracks given various different segmentation schem...
Definition: TraverseSegments.h:35
Definition: segmentation_type.h:18
A Track represents a characteristic line across the geometry.
Definition: Track.h:67
The TrackGenerator3D is dedicated to generating and storing Tracks which cyclically wrap across the G...
Definition: TrackGenerator3D.h:86