107 long _track_next_bwd;
108 long _track_prdc_fwd;
109 long _track_prdc_bwd;
110 long _track_refl_fwd;
111 long _track_refl_bwd;
137 virtual void setValues(
const double start_x,
const double start_y,
138 const double end_x,
const double end_y,
140 virtual void setCoords(
double x0,
double y0,
141 double x1,
double y1);
143 void setPhi(
const double phi);
219 log_printf(
ERROR,
"Attempted to retrieve segment s = %d but Track only " int _cmfd_surface_fwd
Definition: Track.h:42
void setSurfaceOut(int surface_out)
Set the surface at which the Track ends.
Definition: Track.cpp:130
double getLength()
Return the Track's length.
Definition: Track.cpp:157
bool _next_fwd_fwd
Definition: Track.h:116
boundaryType _bc_fwd
Definition: Track.h:92
double _length
Definition: Track.h:30
void clearSegments()
Deletes each of this Track's segments.
Definition: Track.cpp:251
void setTrackPrdcBwd(long track_id)
Set a pointer to the periodic Track in the backward direction.
Definition: Track.cpp:335
void setTrackNextFwd(long track_id)
Set a pointer to the reflective Track in the forward direction.
Definition: Track.cpp:308
void setTrackReflFwd(long track_id)
Set a pointer to the reflective Track in the forward direction.
Definition: Track.cpp:344
Point * getEnd()
Returns a pointer to the Track's end Point.
Definition: Track.h:263
int getSurfaceIn()
Get the surface from which the track originates in the domain.
Definition: Track.cpp:166
boundaryType
The types of boundary conditions supported by OpenMOC for Surfaces.
Definition: boundary_type.h:15
segment()
Definition: Track.h:51
void setSurfaceIn(int surface_in)
Set the surface at which the Track starts.
Definition: Track.cpp:121
long getTrackReflBwd()
Get a pointer to the reflective Track in the backward direction.
Definition: Track.cpp:407
virtual ~Track()
Destructor clears the Track segments container.
Definition: Track.cpp:36
int getLinkIndex()
Get a Track's link index.
Definition: Track.cpp:299
Class to represent a 2D/3D point in space.
Definition: Point.h:24
void setUid(int uid)
Initializes a Track's unique ID.
Definition: Track.cpp:78
void setNextFwdFwd(bool fwd)
Set whether the reflective track in the forward direction is pointing in forward direction.
Definition: Track.cpp:436
int getNumSegments()
Return the number of segments along this Track.
Definition: Track.h:240
void setPhi(const double phi)
Set the Track's azimuthal angle.
Definition: Track.cpp:86
int _cmfd_surface_bwd
Definition: Track.h:45
double _phi
Definition: Track.h:81
void setNumSegments(int num_segments)
Sets the number of segments in a track.
Definition: Track.h:254
int _region_id
Definition: Track.h:36
segment * getSegment(int s)
Returns a pointer to a segment with a given index.
Definition: Track.h:215
boundaryType getBCFwd() const
Returns the boundary condition for the flux along the Track's "forward" direction.
Definition: Track.h:291
virtual std::string toString()
Convert this Track's attributes to a character array.
Definition: Track.cpp:480
void setTrackPrdcFwd(long track_id)
Set a pointer to the periodic Track in the forward direction.
Definition: Track.cpp:326
void setTrackReflBwd(long track_id)
Set a pointer to the reflective Track in the backward direction.
Definition: Track.cpp:353
void setBCBwd(const boundaryType bc_bwd)
Sets the boundary condition for the incoming flux along the Track's "reverse" direction.
Definition: Track.cpp:112
A segment represents a line segment within a single flat source region along a track.
Definition: Track.h:27
int _track_idx
Definition: Track.h:39
Material * _material
Definition: Track.h:33
segment * getSegments()
Returns a vector of pointers to the Track's segments.
Definition: Track.h:231
long getTrackPrdcFwd()
Get a pointer to the periodic Track in the forward direction.
Definition: Track.cpp:380
void removeSegment(int index)
Removes a segment from this Track's list of segments.
Definition: Track.cpp:220
std::vector< segment > _segments
Definition: Track.h:84
FP_PRECISION _starting_position[3]
Definition: Track.h:48
void setAzimIndex(int index)
Set a Track's azimuthal angle index.
Definition: Track.cpp:260
int getXYIndex()
Get the xy index of this Track.
Definition: Track.cpp:425
long getTrackNextFwd()
Get a pointer to the reflective Track in the forward direction.
Definition: Track.cpp:362
int getSurfaceOut()
Get the surface at which the Track ends in the domain.
Definition: Track.cpp:175
long getTrackReflFwd()
Get a pointer to the reflective Track in the forward direction.
Definition: Track.cpp:398
int _domain_fwd
Definition: Track.h:129
void setTrackNextBwd(long track_id)
Set a pointer to the reflective Track in the backward direction.
Definition: Track.cpp:317
long getTrackPrdcBwd()
Get a pointer to the periodic Track in the backward direction.
Definition: Track.cpp:389
int _surface_in
Definition: Track.h:125
Track()
Constructor initializes an empty Track.
Definition: Track.cpp:7
int getDomainBwd()
Get the domain connected at the back end of the Track.
Definition: Track.cpp:193
void setXYIndex(int index)
Set the xy index of this Track.
Definition: Track.cpp:416
The Material class represents a unique material and its relevant nuclear data (i.e., multigroup cross-sections) for neutron transport.
Definition: Material.h:51
double getPhi() const
Return the Track's azimuthal angle (with respect to the x-axis).
Definition: Track.h:281
virtual void setValues(const double start_x, const double start_y, const double end_x, const double end_y, const double phi)
Set the values for the Track's start and end point and angle.
Definition: Track.cpp:49
void log_printf(logLevel level, const char *format,...)
Print a formatted message to the console.
Definition: log.cpp:300
void setBCFwd(const boundaryType bc_fwd)
Sets the boundary condition for the incoming flux along the Track's "forward" direction.
Definition: Track.cpp:99
boundaryType _bc_bwd
Definition: Track.h:97
void setDomainBwd(int neighbor)
Set the domain at the end of the Track in the backward direction.
Definition: Track.cpp:148
void insertSegment(int index, segment *segment)
Inserts a segment struct into this Track's list of segments.
Definition: Track.cpp:238
virtual void setCoords(double x0, double y0, double x1, double y1)
Set the values for the Track's start and end point.
Definition: Track.cpp:65
void setDomainFwd(int neighbor)
Set the domain at the end of the Track in the forward direction.
Definition: Track.cpp:139
bool _direction_in_cycle
Definition: Track.h:122
int getDomainFwd()
Get the domain connected at the front end of the Track.
Definition: Track.cpp:184
void addSegment(segment *segment)
Adds a segment to this Track's list of segments.
Definition: Track.cpp:204
long getTrackNextBwd()
Get a pointer to the reflective Track in the backward direction.
Definition: Track.cpp:371
int getAzimIndex()
Get a Track's azimuthal angle index.
Definition: Track.cpp:284
Point _start
Definition: Track.h:75
boundaryType getBCBwd() const
Returns the boundary condition for the flux along the Track's "reverse" direction.
Definition: Track.h:301
int _num_segments
Definition: Track.h:87
bool getNextFwdFwd()
Get whether the reflective track in the forward direction is pointing in forward direction.
Definition: Track.cpp:458
int getUid()
Return the Track's unique ID.
Definition: Track.h:203
void setLinkIndex(int index)
Set a Track's link index.
Definition: Track.cpp:275
int _uid
Definition: Track.h:72
A Track represents a characteristic line across the geometry.
Definition: Track.h:67
long _track_next_fwd
Definition: Track.h:106
void setNextBwdFwd(bool fwd)
Set whether the reflective track in the backward direction is pointing in forward direction...
Definition: Track.cpp:447
bool getNextBwdFwd()
Get whether the reflective track in the backward direction is pointing in forward direction...
Definition: Track.cpp:469
Point * getStart()
Returns a pointer to the Track's start Point.
Definition: Track.h:272
Point _end
Definition: Track.h:78