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

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

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

Member Function Documentation

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

Implemented in ltl::CCS_TAN.

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.

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, c_dp, phi_p, and s_dp.

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

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, c_dp, phi_p, and s_dp.

Referenced by ltl::CCS_TAN::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.

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.

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_, and ltl::WCS< N >::pc_.

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

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().

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

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

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

Member Data Documentation

double ltl::CCS::phi_0
protected

angles in rad

double ltl::CCS::theta_0
protected
double ltl::CCS::alpha_0
protected
double ltl::CCS::delta_0
protected
double ltl::CCS::phi_p
protected

Referenced by cc_(), and nc_cc().

double ltl::CCS::theta_p
protected
double ltl::CCS::alpha_p
protected

Referenced by cc_(), and nc_cc().

double ltl::CCS::delta_p
protected
double ltl::CCS::c_dp
protected

Referenced by cc_(), and nc_cc().

double ltl::CCS::s_dp
protected

Referenced by cc_(), and nc_cc().

FVector<double, N> ltl::WCS< N >::crpix_
protectedinherited
FMatrix<double, N, N> ltl::WCS< N >::pc_
protectedinherited
FVector<double, N> ltl::WCS< N >::cdelt_
protectedinherited