1 #ifndef LINE_OF_SIGHT_HPP
2 #define LINE_OF_SIGHT_HPP
44 const double& theta_in,
const double& step_size_in);
83 View<double*,CLayout,DeviceType> r_los, View<double*,CLayout,DeviceType> z_los,
84 View<double*,CLayout,DeviceType> psi_los)
const;
100 const Kokkos::View<double*, CLayout, DeviceType>& field_in)
const;
double theta
Direction of the line of sight. This angle must satisfy .
Definition: line_of_sight.hpp:29
double get_z0() const
Returns the Z-coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:58
void sample_points(const MagneticField< DeviceType > &magnetic_field, View< double *, CLayout, DeviceType > r_los, View< double *, CLayout, DeviceType > z_los, View< double *, CLayout, DeviceType > psi_los) const
Computes the sample points , and the poloidal flux along the line-of-sight.
Definition: line_of_sight.cpp:95
Definition: magnetic_field.hpp:12
double step_size
Step size or resolution along the line-of-sight in meters.
Definition: line_of_sight.hpp:30
KOKKOS_INLINE_FUNCTION double interpolate_single(const Plane< DeviceType > &plane, const Kokkos::View< double *, CLayout, DeviceType > &field_in, const int i) const
Interpolates the field value at a single sample point along the line-of-sight.
Definition: line_of_sight.cpp:171
int samples
Number of sample points.
Definition: line_of_sight.hpp:31
View< double *, CLayout, DeviceType > interpolate_to_los(const Plane< DeviceType > &plane, const ScalarGridField &field_in) const
Interpolates a ScalarGridField to the sample points on the line-of-sight.
Definition: line_of_sight.cpp:204
Definition: grid_field.hpp:22
double r0
Major radius coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:26
double get_phi0() const
Returns the toroidal angle of the line-of-sight's origin.
Definition: line_of_sight.hpp:63
double z0
Vertical coordinate (height) of the line-of-sight's origin.
Definition: line_of_sight.hpp:27
int get_samples() const
Returns the number of sample points along the line-of-sight.
Definition: line_of_sight.hpp:73
double phi0
Toroidal angle of the plane on which the line-of-sight is defined.
Definition: line_of_sight.hpp:28
bool valid
Indicates whether the line-of-sight has been instantiated correctly.
Definition: line_of_sight.hpp:25
double get_theta() const
Returns the direction angle ( ) of the line-of-sight.
Definition: line_of_sight.hpp:68
Definition: magnetic_field.F90:1
double get_r0() const
Returns the R-coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:53
bool is_valid() const
Indicates whether the line-of-sight is valid.
Definition: line_of_sight.hpp:78
LineOfSight()
Default constructor.
Definition: line_of_sight.hpp:40
Represents a two-dimensional line-of-sight in cylindrical coordinates.
Definition: line_of_sight.hpp:24