LTL  2.0.x
Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ltl::CCS_TAN Class Reference

Gnonomic CCS, TAN representation. More...

Inherits ltl::CCS.

Public Member Functions

 CCS_TAN (const FVector< double, 2 > &crpix_in, const FMatrix< double, 2, 2 > &pc_in, const FVector< double, 2 > &cdelt_in, const FVector< double, 2 > &crval_in)
 
virtual FVector< double, 2 > x_nc (const FVector< double, 2 > &nc) const
 
virtual FVector< double, 2 > nc_ (const FVector< double, 2 > &p) const
 calculate native coordinates $\theta$, $\phi$ More...
 
virtual FVector< double, 2 > solve (const FVector< double, 2 > &p) const
 calculate projection $\alpha$, $\delta$ from given pixel(x, y) in deg More...
 
virtual FVector< double, 2 > solve_inv (const FVector< double, 2 > &radec) const
 calculate pixel(x, y) in deg from given projection $\alpha$, $\delta$ More...
 
FVector< double, 2 > nc_cc (const FVector< double, 2 > &cc) const
 calculate native coordinates $\theta$, $\phi$ in rad from celestial coordinates More...
 
FVector< double, 2 > cc_ (const FVector< double, 2 > &nc) const
 calculate celestial coordinates $\alpha$, $\delta$ from native coords in rad More...
 
FVector< double, N > x_ (const FVector< double, N > &p) const
 return intermediate WCs More...
 
FVector< double, N > p_ (const FVector< double, N > &x) const
 calculate orig. coordinates from intermed WCs (slow version!) More...
 

Static Protected Member Functions

static double deg2rad (const double deg)
 
static double rad2deg (const double rad)
 
static double cosdeg (double deg)
 
static double sindeg (double deg)
 

Protected Attributes

double phi_0
 angles in rad More...
 
double theta_0
 
double alpha_0
 
double delta_0
 
double phi_p
 
double theta_p
 
double alpha_p
 
double delta_p
 
double c_dp
 
double s_dp
 
FVector< double, N > crpix_
 
FMatrix< double, N, N > pc_
 
FVector< double, N > cdelt_
 

Detailed Description

Gnonomic CCS, TAN representation.

Constructor & Destructor Documentation

◆ CCS_TAN()

ltl::CCS_TAN::CCS_TAN ( const FVector< double, 2 > &  crpix_in,
const FMatrix< double, 2, 2 > &  pc_in,
const FVector< double, 2 > &  cdelt_in,
const FVector< double, 2 > &  crval_in 
)
inline

Member Function Documentation

◆ x_nc()

virtual FVector<double, 2> ltl::CCS_TAN::x_nc ( const FVector< double, 2 > &  nc) const
inlinevirtual

◆ nc_()

virtual FVector<double, 2> ltl::CCS_TAN::nc_ ( const FVector< double, 2 > &  p) const
inlinevirtual

calculate native coordinates $\theta$, $\phi$

Implements ltl::CCS.

References ltl::ltl::atan(), ltl::ltl::atan2(), ltl::ltl::hypot(), and ltl::WCS< 2 >::x_().

Referenced by solve().

◆ solve()

virtual FVector<double, 2> ltl::CCS_TAN::solve ( const FVector< double, 2 > &  p) const
inlinevirtual

calculate projection $\alpha$, $\delta$ from given pixel(x, y) in deg

Implements ltl::CCS.

References ltl::CCS::cc_(), and nc_().

◆ solve_inv()

virtual FVector<double, 2> ltl::CCS_TAN::solve_inv ( const FVector< double, 2 > &  radec) const
inlinevirtual

calculate pixel(x, y) in deg from given projection $\alpha$, $\delta$

Implements ltl::CCS.

References ltl::CCS::nc_cc(), ltl::WCS< 2 >::p_(), and x_nc().

◆ nc_cc()

FVector<double, 2> ltl::CCS::nc_cc ( const FVector< double, 2 > &  cc) const
inlineinherited

calculate native coordinates $\theta$, $\phi$ in rad from celestial coordinates

References ltl::CCS::alpha_p, ltl::ltl::asin(), ltl::ltl::atan2(), ltl::CCS::c_dp, ltl::ltl::cos(), ltl::CCS::phi_p, ltl::CCS::s_dp, and ltl::ltl::sin().

Referenced by solve_inv().

◆ cc_()

FVector<double, 2> ltl::CCS::cc_ ( const FVector< double, 2 > &  nc) const
inlineinherited

calculate celestial coordinates $\alpha$, $\delta$ from native coords in rad

References ltl::CCS::alpha_p, ltl::ltl::asin(), ltl::ltl::atan2(), ltl::CCS::c_dp, ltl::ltl::cos(), ltl::CCS::phi_p, ltl::CCS::s_dp, and ltl::ltl::sin().

Referenced by solve().

◆ x_()

FVector<double, N> ltl::WCS< N >::x_ ( const FVector< double, N > &  p) const
inlineinherited

return intermediate WCs

References ltl::WCS< N >::cdelt_, ltl::WCS< N >::crpix_, ltl::ltl::dot(), and ltl::WCS< N >::pc_.

Referenced by nc_().

◆ p_()

FVector<double, N> ltl::WCS< N >::p_ ( const FVector< double, N > &  x) const
inlineinherited

calculate orig. coordinates from intermed WCs (slow version!)

References ltl::WCS< N >::cdelt_, ltl::WCS< N >::crpix_, ltl::WCS< N >::pc_, and ltl::GaussJ< T, N >::solve().

Referenced by solve_inv().

◆ deg2rad()

static double ltl::WCS< N >::deg2rad ( const double  deg)
inlinestaticprotectedinherited

◆ rad2deg()

static double ltl::WCS< N >::rad2deg ( const double  rad)
inlinestaticprotectedinherited

Referenced by x_nc().

◆ cosdeg()

static double ltl::WCS< N >::cosdeg ( double  deg)
inlinestaticprotectedinherited

◆ sindeg()

static double ltl::WCS< N >::sindeg ( double  deg)
inlinestaticprotectedinherited

Member Data Documentation

◆ phi_0

double ltl::CCS::phi_0
protectedinherited

angles in rad

◆ theta_0

double ltl::CCS::theta_0
protectedinherited

◆ alpha_0

double ltl::CCS::alpha_0
protectedinherited

◆ delta_0

double ltl::CCS::delta_0
protectedinherited

◆ phi_p

double ltl::CCS::phi_p
protectedinherited

Referenced by ltl::CCS::cc_(), and ltl::CCS::nc_cc().

◆ theta_p

double ltl::CCS::theta_p
protectedinherited

◆ alpha_p

double ltl::CCS::alpha_p
protectedinherited

Referenced by ltl::CCS::cc_(), and ltl::CCS::nc_cc().

◆ delta_p

double ltl::CCS::delta_p
protectedinherited

◆ c_dp

double ltl::CCS::c_dp
protectedinherited

Referenced by ltl::CCS::cc_(), and ltl::CCS::nc_cc().

◆ s_dp

double ltl::CCS::s_dp
protectedinherited

Referenced by ltl::CCS::cc_(), and ltl::CCS::nc_cc().

◆ crpix_

FVector<double, N> ltl::WCS< N >::crpix_
protectedinherited

◆ pc_

FMatrix<double, N, N> ltl::WCS< N >::pc_
protectedinherited

◆ cdelt_

FVector<double, N> ltl::WCS< N >::cdelt_
protectedinherited