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

Base CCS class, use to derive the different projection / CCS. More...

Inherits ltl::WCS< 2 >.

Inherited by ltl::CCS_TAN.

Public Member Functions

 CCS (const FVector< double, 2 > &crpix_in, const FMatrix< double, 2, 2 > &pc_in, const FVector< double, 2 > &cdelt_in, const double phi_0in, const double theta_0in, const double alpha_0in, const double delta_0in, const double alpha_pin, const double delta_pin)
 full scheme More...
 
virtual ~CCS ()
 
virtual FVector< double, 2 > x_nc (const FVector< double, 2 > &nc) const =0
 
virtual FVector< double, 2 > nc_ (const FVector< double, 2 > &p) const =0
 calculate native coordinates $\theta$, $\phi$ in rad from pixel coordinates 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...
 
virtual FVector< double, 2 > solve (const FVector< double, 2 > &p) const =0
 calculate projection $\alpha$, $\delta$ from given pixel(x, y) in deg More...
 
virtual FVector< double, 2 > solve_inv (const FVector< double, 2 > &radec) const =0
 calculate pixel(x, y) in deg from given projection $\alpha$, $\delta$ 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

Base CCS class, use to derive the different projection / CCS.

Constructor & Destructor Documentation

◆ CCS()

ltl::CCS::CCS ( const FVector< double, 2 > &  crpix_in,
const FMatrix< double, 2, 2 > &  pc_in,
const FVector< double, 2 > &  cdelt_in,
const double  phi_0in,
const double  theta_0in,
const double  alpha_0in,
const double  delta_0in,
const double  alpha_pin,
const double  delta_pin 
)
inline

full scheme

◆ ~CCS()

virtual ltl::CCS::~CCS ( )
inlinevirtual

Member Function Documentation

◆ x_nc()

virtual FVector<double, 2> ltl::CCS::x_nc ( const FVector< double, 2 > &  nc) const
pure virtual

Implemented in ltl::CCS_TAN.

◆ nc_()

virtual FVector<double, 2> ltl::CCS::nc_ ( const FVector< double, 2 > &  p) const
pure virtual

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

Implemented in ltl::CCS_TAN.

◆ nc_cc()

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

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

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

Referenced by ltl::CCS_TAN::solve_inv().

◆ cc_()

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

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

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

Referenced by ltl::CCS_TAN::solve().

◆ solve()

virtual FVector<double, 2> ltl::CCS::solve ( const FVector< double, 2 > &  p) const
pure virtual

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

Implemented in ltl::CCS_TAN.

◆ solve_inv()

virtual FVector<double, 2> ltl::CCS::solve_inv ( const FVector< double, 2 > &  radec) const
pure virtual

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

Implemented in ltl::CCS_TAN.

◆ 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 ltl::CCS_TAN::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 ltl::CCS_TAN::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 ltl::CCS_TAN::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
protected

angles in rad

◆ theta_0

double ltl::CCS::theta_0
protected

◆ alpha_0

double ltl::CCS::alpha_0
protected

◆ delta_0

double ltl::CCS::delta_0
protected

◆ phi_p

double ltl::CCS::phi_p
protected

Referenced by cc_(), and nc_cc().

◆ theta_p

double ltl::CCS::theta_p
protected

◆ alpha_p

double ltl::CCS::alpha_p
protected

Referenced by cc_(), and nc_cc().

◆ delta_p

double ltl::CCS::delta_p
protected

◆ c_dp

double ltl::CCS::c_dp
protected

Referenced by cc_(), and nc_cc().

◆ s_dp

double ltl::CCS::s_dp
protected

Referenced by cc_(), and 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