An open source method of characteristics neutron transport code.
Track3D.h
Go to the documentation of this file.
1 
8 #ifndef TRACK3D_H_
9 #define TRACK3D_H_
10 
11 #ifdef __cplusplus
12 #ifdef SWIG
13 #include "Python.h"
14 #endif
15 #include "Point.h"
16 #include "Material.h"
17 #include "Track.h"
18 #include "Track.h"
19 #include "LocalCoords.h"
20 #include <vector>
21 #endif
22 
23 
24 
26 struct ExtrudedFSR;
27 
28 
35 class Track3D : public Track {
36 
37 protected:
38 
40  double _theta;
41 
42  /* Indices that are used to locate the track in the various track arrays */
43  int _polar_index;
44  int _z_index;
45  int _lz_index;
46  int _cycle_index;
47  int _cycle_track_index;
48  int _train_index;
49 
52  bool _cycle_fwd;
53 
54 public:
55  Track3D();
56  virtual ~Track3D();
57 
58  /* Setter methods */
59  void setValues(const double start_x, const double start_y,
60  const double start_z, const double end_x,
61  const double end_y, const double end_z,
62  const double phi, const double theta);
63  void setTheta(const double theta);
64  void setCoords(double x0, double y0, double z0, double x1, double y1,
65  double z1);
66  void setPolarIndex(int index);
67  void setZIndex(int index);
68  void setLZIndex(int index);
69  void setCycleIndex(int index);
70  void setCycleTrackIndex(int index);
71  void setTrainIndex(int index);
72  void setCycleFwd(bool fwd);
73 
74  /* Getter methods */
75  double getTheta() const;
76  int getPolarIndex();
77  int getZIndex();
78  int getLZIndex();
79  int getCycleIndex();
80  int getCycleTrackIndex();
81  int getTrainIndex();
82  bool getCycleFwd();
83 
84  /* Worker methods */
85  std::string toString();
86 };
87 
88 
89 #endif /* TRACK3D_H_ */
bool getCycleFwd()
Get a boolean indicating whether the track cycle is going forward along the Track&#39;s forward direction...
Definition: Track3D.cpp:235
void setTrainIndex(int index)
Set the Track&#39;s last index into the Track3D cycles array.
Definition: Track3D.cpp:112
int getPolarIndex()
Get the index for the Track&#39;s polar angle index.
Definition: Track3D.cpp:134
virtual ~Track3D()
Destructor.
Definition: Track3D.cpp:23
double getTheta() const
Return the Track&#39;s polar angle (with respect to the positive z-axis).
Definition: Track3D.cpp:122
The Point class.
void setCycleFwd(bool fwd)
Set a boolean indicating whether the track cycle is going forward along the Track&#39;s forward direction...
Definition: Track3D.cpp:224
void setTheta(const double theta)
Set the Track&#39;s polar angle.
Definition: Track3D.cpp:53
void setValues(const double start_x, const double start_y, const double start_z, const double end_x, const double end_y, const double end_z, const double phi, const double theta)
Set the values for the Track&#39;s start and end point and angle.
Definition: Track3D.cpp:38
int getZIndex()
Get the Track&#39;s z index into the Track3D stacks array.
Definition: Track3D.cpp:143
double _theta
Definition: Track3D.h:40
void setZIndex(int index)
Set the Track&#39;s z index into the Track3D stacks array.
Definition: Track3D.cpp:74
void setCoords(double x0, double y0, double z0, double x1, double y1, double z1)
Set the values for the Track&#39;s start and end point.
Definition: Track3D.cpp:211
void setCycleIndex(int index)
Set the Track&#39;s cycle index into the Track3D cycles array.
Definition: Track3D.cpp:92
std::string toString()
Convert this Track&#39;s attributes to a character array.
Definition: Track3D.cpp:192
A 3D Track represents a characteristic line across the geometry.
Definition: Track3D.h:35
void setCycleTrackIndex(int index)
Set the index into the reflective Track cycle that this Track lies above.
Definition: Track3D.cpp:103
int getLZIndex()
Get the Track&#39;s lz index into the Track3D cycles array.
Definition: Track3D.cpp:152
void setPolarIndex(int index)
Set the index for the Track&#39;s polar angle index.
Definition: Track3D.cpp:65
void setLZIndex(int index)
Set the Track&#39;s lz index into the Track3D cycles array.
Definition: Track3D.cpp:83
Track3D()
Constructor initializes Track3D with negative values and indexes.
Definition: Track3D.cpp:7
int getCycleIndex()
Get the Track&#39;s cycle index into the Track3D cycles array.
Definition: Track3D.cpp:161
bool _cycle_fwd
Definition: Track3D.h:52
The generic Track class.
int getTrainIndex()
Get the Track&#39;s last index into the Track3D cycles array.
Definition: Track3D.cpp:181
A Track represents a characteristic line across the geometry.
Definition: Track.h:67
int getCycleTrackIndex()
Get the index into the reflective Track cycle that this Track lies above.
Definition: Track3D.cpp:172
The LocalCoords class.
An ExtrudedFSR struct represents a FSR region in the superposition plane for axial on-the-fly ray tra...
Definition: Geometry.h:84