A class for antenna frame and spherical-cartesian coordinate transformation.
More...
#include <Frame.h>
|
| Frame ()=default |
| Default empty Constructor.
|
|
constexpr | Frame (const SphGridType &grid_type) |
| Constructor from enum Spherical Grid type.
|
|
| Frame (const std::string &grid_str) |
| Constructor from a string grid type.
|
|
constexpr SphGridType | gridType () const |
| Get grid type enum value.
|
|
Vec3_t | sphToCart (double el_theta, double az_phi) const |
| Convert from spherical coordinate with unit radius into cartesian.
|
|
std::vector< Vec3_t > | sphToCart (const std::vector< double > &el_theta, const std::vector< double > &az_phi) const |
| An overloaded function to convert a vector from spherical coordinate with unit radius into cartesian.
|
|
std::vector< Vec3_t > | sphToCart (const std::vector< double > &el_theta, double az_phi) const |
| An overloaded function to convert Vector/Scalar values from spherical coordinate with unit radius into cartesian in 3-by-N Eigen Matrix form.
|
|
std::vector< Vec3_t > | sphToCart (double el_theta, const std::vector< double > &az_phi) const |
| An overloaded function to convert Vector/Scalar values from spherical coordinate with unit radius into cartesian in 3-by-N Eigen Matrix form.
|
|
Vec2_t | cartToSph (Vec3_t vec) const |
| Convert from cartesian into spherical coordinate with unit radius.
|
|
std::vector< Vec2_t > | cartToSph (std::vector< Vec3_t > vec) const |
| An overloaded function to convert a vector from cartesian into spherical coordinate with unit radius.
|
|
A class for antenna frame and spherical-cartesian coordinate transformation.
◆ Frame() [1/3]
isce3::antenna::Frame::Frame |
( |
| ) |
|
|
default |
Default empty Constructor.
The spherical grid type is set to EL_AND_AZ.
◆ Frame() [2/3]
isce3::antenna::Frame::Frame |
( |
const SphGridType & | grid_type | ) |
|
|
inlineconstexpr |
Constructor from enum Spherical Grid type.
- Parameters
-
[in] | grid_type | : an enum "SphGridType" |
◆ Frame() [3/3]
isce3::antenna::Frame::Frame |
( |
const std::string & | grid_str | ) |
|
|
inlineexplicit |
Constructor from a string grid type.
- Parameters
-
[in] | grid_str | : case-insensitive string representing spherical grid type for spehrical coordinate possible options : EL_AND_AZ, EL_OVER_AZ, AZ_OVER_EL and THETA_PHI |
- Exceptions
-
◆ cartToSph() [1/2]
std::vector< typename Frame::Vec2_t > isce3::antenna::Frame::cartToSph |
( |
std::vector< Vec3_t > | vec | ) |
const |
|
inline |
An overloaded function to convert a vector from cartesian into spherical coordinate with unit radius.
- Parameters
-
[in] | vec | : a STD vector of Column-wise Eigen Vector3d or isce3 Vec3 , a vector (x,y,z). if not a unit vector, it will be normalized. |
[out] | a | STD vector of Two-element Eigen double Vector or isce3 Vector<2> of either (EL, AZ) or (Theta, Phi) in (rad,rad) depending on the grid type. |
◆ cartToSph() [2/2]
Convert from cartesian into spherical coordinate with unit radius.
- Parameters
-
[in] | vec | : Column-wise Eigen Vector3d or isce3 Vec3 , a vector (x,y,z) if not a unit vector it will be normalized |
[out] | Two-element | Eigen double Vector of either (EL, AZ) or (Theta, Phi) in (rad,rad) depending on the grid type. |
◆ gridType()
SphGridType isce3::antenna::Frame::gridType |
( |
| ) |
const |
|
inlineconstexpr |
Get grid type enum value.
- Returns
- a value from enum 'SphGridType' For grid definitions, see section 6.2 of reference [ReeTechDesDoc]
◆ sphToCart() [1/4]
std::vector< typename Frame::Vec3_t > isce3::antenna::Frame::sphToCart |
( |
const std::vector< double > & | el_theta, |
|
|
const std::vector< double > & | az_phi ) const |
|
inline |
An overloaded function to convert a vector from spherical coordinate with unit radius into cartesian.
- Parameters
-
[in] | el_theta | : a STD vector of Elevation or Theta angles in (rad) |
[in] | az_phi | : a STD vector, Azimuth or Phi angle in (rad) , must have the same size as el_theta. |
[out] | a | STD vector of Column-wise Eigen Vector3d or isce3 Vec3 |
- Exceptions
-
LengthError | For equations, see section 6.2 of reference [ReeTechDesDoc] |
◆ sphToCart() [2/4]
std::vector< typename Frame::Vec3_t > isce3::antenna::Frame::sphToCart |
( |
const std::vector< double > & | el_theta, |
|
|
double | az_phi ) const |
|
inline |
An overloaded function to convert Vector/Scalar values from spherical coordinate with unit radius into cartesian in 3-by-N Eigen Matrix form.
This function is suitable for EL-cut pattern at fixed AZ.
- Parameters
-
[in] | el_theta | : a STD vector of Elevation or Theta angles in (rad). |
[in] | az_phi | : a double scalar , Azimuth or Phi angle in (rad). |
[out] | a | STD vector of Column-wise Eigen Vector3d or isce3 Vec3 size of the el_theta. |
◆ sphToCart() [3/4]
std::vector< typename Frame::Vec3_t > isce3::antenna::Frame::sphToCart |
( |
double | el_theta, |
|
|
const std::vector< double > & | az_phi ) const |
|
inline |
An overloaded function to convert Vector/Scalar values from spherical coordinate with unit radius into cartesian in 3-by-N Eigen Matrix form.
This function is suitable for AZ-cut pattern at fixed EL.
- Parameters
-
[in] | el_theta | : a double scalar , Elevation or Theta angle in (rad). |
[in] | az_phi | : a STD vector of Azimuth or Phi angles in (rad). |
[out] | a | STD vector of Column-wise Eigen Vector3d or isce3 Vec3 size of the el_theta. |
◆ sphToCart() [4/4]
Frame::Vec3_t isce3::antenna::Frame::sphToCart |
( |
double | el_theta, |
|
|
double | az_phi ) const |
|
inline |
Convert from spherical coordinate with unit radius into cartesian.
- Parameters
-
[in] | el_theta | : scalar, Elevation or Theta angle in (rad) |
[in] | az_phi | : scalar, Azimuth or Phi angle in (rad) |
[out] | Column-wise | Eigen Vector3d or isce3 Vec3 : a unit vector (x,y,z). For equations, see section 6.2 of reference [ReeTechDesDoc] |
The documentation for this class was generated from the following files:
- /home/runner/work/isce3/isce3/cxx/isce3/antenna/Frame.h
- /home/runner/work/isce3/isce3/cxx/isce3/antenna/Frame.icc
1.13.2.