TwiceAsNice  2019-02-18
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Lics::LicsStar Class Reference

A LbcsStar object is a single sky object with location, brightness ect. More...

#include <LicsStar.h>

Inheritance diagram for Lics::LicsStar:
Inheritance graph
Collaboration diagram for Lics::LicsStar:
Collaboration graph

Public Member Functions

 LicsStar ()
 default ctor. Basically not useful besides to build an empty star catalogue More...
 
 LicsStar (const lbto::position2 &star)
 Create from a given structure. More...
 
 LicsStar (const Nice::DMS &ra, const Nice::DMS &dec)
 Ctor given just a position on the sky. The proper motions, magnitudes etc are all kept at zero. More...
 
 LicsStar (const std::string &str, const std::string &typ)
 Ctor with a specification of a single star. This should be line conforming to http://wiki.lbto.org/bin/view/Commissioning/LBTOStarCatalogs but not a comment line. More...
 
 operator Nice::SkyPoint () const
 Construct a simple ra/dec pointing from this. More...
 
double distance (const LicsStar &oth) const
 Distance to another star in degrees. More...
 
double distance (const lbto::position2 &left, const lbto::position2 &right) const
 Distance between two stars degrees. This is the static variant of the other LicsStar::distance(), taking two stars as arguments. More...
 
std::string toLbtoLoc () const
 Convert the Ra and Dec coordinates to a LBTO star catalogue number format. More...
 
std::string toPosition2Py () const
 Convert the position2 structure to a Python list. More...
 
std::string toXephem () const
 Convert the information to a line of the xephem format. More...
 
std::string object () const
 A construed object name derived from the coordinates. More...
 
LicsStar propMot (const Nice::Date &t) const
 Apply a proper motion. More...
 
LicsStar propMot () const
 Apply a proper motion. More...
 
LicsStar precess (const Nice::Date &t) const
 Apply proper motion and precession from catalogue origin to some other time. More...
 
LicsStar precess () const
 Precess equatorial coordinate from the catalogues epoch to now. More...
 
Lics::LicsAffTrans diffPrecess (const Nice::Date &t) const
 Construct the matrix of differential precession from J2000 to the time argument. More...
 
Lics::LicsAffTrans diffPrecess () const
 Construct the matrix of differential precession from J2000 to now. More...
 
Nice::DMS getPang (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 compute the parallactic angle. More...
 
Nice::SkyPoint getHoriz (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 compute the horizontal coordinates (altitude, azimuth) More...
 
Nice::DMS getPangDot (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation())
 compute the first time derivative of the parallactic angle. More...
 
Nice::DMS derotStartAng (const Nice::Date t, const double lowLim, const double hiLim, const float dirScale, int &durat, const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 compute a best start angle for derotation. The parallactic angle is computed from the start time into the future with 20 seconds of resolution, monitoring the maximum and minimum angles. The angle is computed which lets this derotation stay within the limits for the longest possible duration. More...
 
Nice::DMS derotStartAng (const Nice::Date t, const Nice::Point &travelrange, const Nice::Point &transDegree, const float cfgDirection, int &durat, const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 compute a proposal for a best start angle for derotation. The parallactic angle is computed from the start time into the future with 20 seconds of resolution, monitoring the maximum and minimum angles. The angle is computed which lets this derotation stay within the limits for the longest possible duration. More...
 
void aladin () const
 Open a firefox window to show the current region of the sky in Aladin's DSS2 . Opens a firefox screen with a 6 arcmin field-of-view around this target. More...
 
Laos::LaosSeAOType toWS (const lbto::position2 &targ) const
 Decide whether this is on the HWS (< 1 arcmin) or GWS (1 arcmin-3 arcmin) WS. More...
 
Nice::Point toSE (const lbto::position2 &targ, const Lics::LicsAffTrans &wcs)
 Map the sky position to SE focal plane coordinates. More...
 
 LicsStar ()
 
 LicsStar (const lbto::position2 &star)
 
 LicsStar (const Nice::DMS &ra, const Nice::DMS &dec)
 
 LicsStar (const std::string &str, const std::string &typ)
 
 operator Nice::SkyPoint () const
 
double distance (const LicsStar &oth) const
 
double distance (const lbto::position2 &left, const lbto::position2 &right) const
 
std::string toLbtoLoc () const
 
std::string toPosition2Py () const
 
std::string toXephem () const
 
std::string object () const
 
LicsStar propMot (const Nice::Date &t) const
 
LicsStar propMot () const
 
LicsStar precess (const Nice::Date &t) const
 
LicsStar precess () const
 
Lics::LicsAffTrans diffPrecess (const Nice::Date &t) const
 
Lics::LicsAffTrans diffPrecess () const
 
Nice::DMS getPang (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 
Nice::SkyPoint getHoriz (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 
Nice::DMS getPangDot (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation())
 
Nice::DMS derotStartAng (const Nice::Date t, const double lowLim, const double hiLim, const float dirScale, int &durat, const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 
Nice::DMS derotStartAng (const Nice::Date t, const Nice::Point &travelrange, const Nice::Point &transDegree, const float cfgDirection, int &durat, const Nice::GeoLocation &geosite=Nice::GeoLocation()) const
 
void aladin () const
 
Laos::LaosSeAOType toWS (const lbto::position2 &targ) const
 
Nice::Point toSE (const lbto::position2 &targ, const Lics::LicsAffTrans &wcs)
 

Static Public Member Functions

static Nice::DMS getGST (const Nice::Date &t=Nice::Date::now())
 compute the apparent Greenwich sidereal time. More...
 
static Nice::DMS getLST (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation())
 compute the local sidereal time. More...
 
static Lics::LicsAffTrans transKfp2Equat (const double mm2as)
 Construct transformation from focal plane to equatorial coordinates. This involves a rotation by the 18.5 degrees (the same for SX and DX) and a homogenous radial scaling. There is no shift component: all parameters in the target and image space are deltas with respect to the beam center. More...
 
static Lics::LicsAffTrans transPcam2F (const Lics::LicsIIFSide &sdx)
 Construct transformation from Pcam pixel coordinates to SE F coordinates. More...
 
static Lics::LicsAffTrans transEquat2Horiz (const double pang)
 Transformation matrix which rotates sky delta (top coordinate) /alpha (bottom coordinate) directions to the azimuth (top coordinate)/ altitude (bottom coordinate) directions. The delta/alpha coordinates are in the presseced coordinate system of date. More...
 
static Lics::LicsAffTrans transEquat2Ifoc (const Lics::LicsIIFSide &sdx, const double pang)
 Transformation matrix which rotates sky delta-alpha directions to the instrument focus aligned with the platform. Computes the transformation matrix which rotates sky delta (top coordinate) /alpha (bottom coordinate) directions to the instrument focus aligned with the platform, just after the annular mirror. More...
 
static Lics::LicsAffTrans transHoriz2Pcam (const Lics::LicsIIFSide &sdx, const double motang)
 Transformation matrix which rotates topocentric horizontal coordinates to patrol camera coordinates. More...
 
static Lics::LicsAffTrans transIfoc2Annm (const Lics::LicsIIFSide &sdx, const double motang)
 Transformation matrix which rotates platform horizontal coordinates (radians) to GWS SE motor coordinates. More...
 
static Lics::LicsAffTrans transEquat2F (const Lics::LicsIIFSide &sdx, const Laos::LaosSeAOType &ghws, const double pang, const double motang, const std::string &unit)
 Transformation matrix from sky delta/alpha coordinates to SE F or Patrol positions. More...
 
static Nice::DMS getGST (const Nice::Date &t=Nice::Date::now())
 
static Nice::DMS getLST (const Nice::Date &t=Nice::Date::now(), const Nice::GeoLocation &geosite=Nice::GeoLocation())
 
static Lics::LicsAffTrans transKfp2Equat (const double mm2as)
 
static Lics::LicsAffTrans transPcam2F (const Lics::LicsIIFSide &sdx)
 
static Lics::LicsAffTrans transEquat2Horiz (const double pang)
 
static Lics::LicsAffTrans transEquat2Ifoc (const Lics::LicsIIFSide &sdx, const double pang)
 
static Lics::LicsAffTrans transHoriz2Pcam (const Lics::LicsIIFSide &sdx, const double motang)
 
static Lics::LicsAffTrans transIfoc2Annm (const Lics::LicsIIFSide &sdx, const double motang)
 
static Lics::LicsAffTrans transEquat2F (const Lics::LicsIIFSide &sdx, const Laos::LaosSeAOType &ghws, const double pang, const double motang, const std::string &unit)
 

Public Attributes

Nice::Point fpCoord
 storage for some 2D focal plane coordinates. This stores the two coordinates from the recent toSE() call and is merely facilitating the python interface. So this is not referring to one single patrol camera or star enlarger focal plane but mutable by subsequent calls. More...
 
- Public Attributes inherited from lbto::position2
::std::string type
 
::Ice::Double coord1
 
::Ice::Double coord2
 
::std::string system
 
::Ice::Double epoch
 
::std::string equinox
 
::Ice::Double pmcoord1
 
::Ice::Double pmcoord2
 
::Ice::Double apparentMagnitude
 
::std::string filter
 
::Ice::Double color
 
::std::string colorType
 
::Ice::Float wavelength
 
::std::string file
 
::Ice::Double time
 
::Ice::Double RARate
 
::Ice::Double DECRate
 

Detailed Description

A LbcsStar object is a single sky object with location, brightness ect.


Since
2017-01-18
Author
R. J. Mathar

Constructor & Destructor Documentation

◆ LicsStar() [1/8]

Lics::LicsStar::LicsStar ( )

default ctor. Basically not useful besides to build an empty star catalogue


Since
2017-01-18

◆ LicsStar() [2/8]

Lics::LicsStar::LicsStar ( const lbto::position2 star)

Create from a given structure.


Parameters
starThe contents to be copied in.
Since
2017-03-17

◆ LicsStar() [3/8]

Lics::LicsStar::LicsStar ( const Nice::DMS ra,
const Nice::DMS dec 
)

Ctor given just a position on the sky. The proper motions, magnitudes etc are all kept at zero.


Parameters
raRight ascension
decDeclination
Since
2017-01-21

◆ LicsStar() [4/8]

Lics::LicsStar::LicsStar ( const std::string &  str,
const std::string &  typ 
)

Ctor with a specification of a single star. This should be line conforming to http://wiki.lbto.org/bin/view/Commissioning/LBTOStarCatalogs but not a comment line.


Parameters
strThe string. This is typically a line of a star catalogue.
typThe indication of how this string is formatted. Should be "lbto" or "nomad". No other formats are implemented.
Since
2017-01-20

◆ LicsStar() [5/8]

Lics::LicsStar::LicsStar ( )

◆ LicsStar() [6/8]

Lics::LicsStar::LicsStar ( const lbto::position2 star)

◆ LicsStar() [7/8]

Lics::LicsStar::LicsStar ( const Nice::DMS ra,
const Nice::DMS dec 
)

◆ LicsStar() [8/8]

Lics::LicsStar::LicsStar ( const std::string &  str,
const std::string &  typ 
)

Member Function Documentation

◆ aladin() [1/2]

void Lics::LicsStar::aladin ( ) const

Open a firefox window to show the current region of the sky in Aladin's DSS2 . Opens a firefox screen with a 6 arcmin field-of-view around this target.


Since
2017-06-26

◆ aladin() [2/2]

void Lics::LicsStar::aladin ( ) const

◆ derotStartAng() [1/4]

Nice::DMS Lics::LicsStar::derotStartAng ( const Nice::Date  t,
const double  lowLim,
const double  hiLim,
const float  dirScale,
int &  durat,
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

compute a best start angle for derotation. The parallactic angle is computed from the start time into the future with 20 seconds of resolution, monitoring the maximum and minimum angles. The angle is computed which lets this derotation stay within the limits for the longest possible duration.


Parameters
tThe civil time in UTC time scales at which derotation should start. Note that this can be a very rough estimate (of the order of 1 or 2 minutes) because the actual start of the derotation will determine the derotator angles. This here is just to get an estimate about the rough extrapolation of the trajectory into the future.
lowLimThe lower limit switch of the motor (in degrees). This is usually obtained by converting the TRAVELRANGE[0] by the TRANS.DEGREE of the configuration.
hiLimThe high limit switch (in degrees) This is usually obtained by converting the TRAVELRANGE[1] by the TRANS.DEGREE of the configuration.
dirScaleThe sign of this value must be positive if positive steps lead to positive angles, otherwise negative. So the sign should be the sign of the factor in TRANS.DEGREE in the configuration file, that means negative for the GWS DX as of 2017-05-03, otherwise positive. The absolute value should be the absolute value of CFG.DIRECTION, which is 0.5 for the two K-mirrors and 1 for the 3 other cases.
[in,out]duratThe maximum time of extrapolating the trajectory (in seconds) On return the time that is actually possible within the travel range.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
The motor angle (in degrees) that maximises the time until the trajectory steps outside the limit switches. This is in units of the nominal motor angles as used elsewhere, taking sign and value of dirScale into account. The value could be used straight away to send the derototar motor to that angle to start derotation at time t.
Since
2017-05-03
2018-06-26 return the time in durat.

◆ derotStartAng() [2/4]

Nice::DMS Lics::LicsStar::derotStartAng ( const Nice::Date  t,
const double  lowLim,
const double  hiLim,
const float  dirScale,
int &  durat,
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

◆ derotStartAng() [3/4]

Nice::DMS Lics::LicsStar::derotStartAng ( const Nice::Date  t,
const Nice::Point travelrange,
const Nice::Point transDegree,
const float  cfgDirection,
int &  durat,
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

compute a proposal for a best start angle for derotation. The parallactic angle is computed from the start time into the future with 20 seconds of resolution, monitoring the maximum and minimum angles. The angle is computed which lets this derotation stay within the limits for the longest possible duration.


Parameters
tThe civil time in UTC time scales at which derotation should start.
travelrangeThe motor limit switches in units of steps. This is usually obtained by reading the TRAVELRANGE in the configuration.
transDegreeThe conversion matrix for conversion of steps to degress. This is usually obtained by reading TRANS.DEGREE of the configuration.
cfgDirectionThe value of CFG.DIRECTION of the configuration. The absolute value is 0.5 for K-mirrors and 1.0 for the others.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
The motor angle (in degrees) that maximises the time until the trajectory steps outside the limit switches. This is in units of the nominal motor angles as used elsewhere. This could be used straight away to send the derototar motor to that angle to start derotation at time t.
Since
2017-05-03
2018-01-23 safetey distance in steps from ends increased from 100 to 500.

◆ derotStartAng() [4/4]

Nice::DMS Lics::LicsStar::derotStartAng ( const Nice::Date  t,
const Nice::Point travelrange,
const Nice::Point transDegree,
const float  cfgDirection,
int &  durat,
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

◆ diffPrecess() [1/4]

Lics::LicsAffTrans Lics::LicsStar::diffPrecess ( const Nice::Date t) const

Construct the matrix of differential precession from J2000 to the time argument.


Parameters
tThe time when the coordinates should be valid.
Since
2018-01-27

◆ diffPrecess() [2/4]

Lics::LicsAffTrans Lics::LicsStar::diffPrecess ( const Nice::Date t) const

◆ diffPrecess() [3/4]

Lics::LicsAffTrans Lics::LicsStar::diffPrecess ( ) const

◆ diffPrecess() [4/4]

Lics::LicsAffTrans Lics::LicsStar::diffPrecess ( ) const

Construct the matrix of differential precession from J2000 to now.


Since
2018-01-27

◆ distance() [1/4]

double Lics::LicsStar::distance ( const LicsStar oth) const

◆ distance() [2/4]

double Lics::LicsStar::distance ( const LicsStar oth) const

Distance to another star in degrees.


Parameters
othThe other star to which the distance (along a great arc) is measured.
Returns
The distance on the sky in degrees.
Since
2017-01-18

◆ distance() [3/4]

double Lics::LicsStar::distance ( const lbto::position2 left,
const lbto::position2 right 
) const

◆ distance() [4/4]

double Lics::LicsStar::distance ( const lbto::position2 left,
const lbto::position2 right 
) const

Distance between two stars degrees. This is the static variant of the other LicsStar::distance(), taking two stars as arguments.


Parameters
leftThe first star of the pair.
rightThe second star of the pair.
Returns
The distance between the stars on the sky in degrees.
Since
2017-07-13

◆ getGST() [1/2]

static Nice::DMS Lics::LicsStar::getGST ( const Nice::Date t = Nice::Date::now())
static

◆ getGST() [2/2]

Nice::DMS Lics::LicsStar::getGST ( const Nice::Date t = Nice::Date::now())
static

compute the apparent Greenwich sidereal time.


Parameters
[in]tThe civil time in UTC time scales. The default is "now", the time of the function call.
Returns
Greenwich apparent (true) sidereal time. The return value is basically an angle with the usual equivalence that 360 deg = 24 hrs. For human read purposes this is to be rendered with value.reduce().toHMSString() to get hours, minutes and seconds.

◆ getHoriz() [1/2]

Nice::SkyPoint Lics::LicsStar::getHoriz ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

compute the horizontal coordinates (altitude, azimuth)


Parameters
tThe civil time in UTC time scales. The default is "now", the time of the function call.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
The two coordinates in the horizontal system.
Since
2017-05-29

◆ getHoriz() [2/2]

Nice::SkyPoint Lics::LicsStar::getHoriz ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

◆ getLST() [1/2]

static Nice::DMS Lics::LicsStar::getLST ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
)
static

◆ getLST() [2/2]

Nice::DMS Lics::LicsStar::getLST ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
)
static

compute the local sidereal time.


Parameters
tThe civil time in UTC time scales. The default is "now", the time of the function call.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
Apparent (a.k.a true) sidereal time. Effectively the Greenwich sidereal time plus the (East) longitude of the observer. The return value is basically an angle. For human read purposes this is to be rendered with value.reduce().toHMSString() to get hours, minutes and seconds. Subtract the right ascension to get hour angle.

◆ getPang() [1/2]

Nice::DMS Lics::LicsStar::getPang ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

compute the parallactic angle.


Parameters
tThe civil time in UTC time scales. The default is "now", the time of the function call.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
Parallactic angle of this star at the given time.
Since
2017-04-06

◆ getPang() [2/2]

Nice::DMS Lics::LicsStar::getPang ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
) const

◆ getPangDot() [1/2]

Nice::DMS Lics::LicsStar::getPangDot ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
)

compute the first time derivative of the parallactic angle.


Parameters
tThe civil time in UTC time scales. The default is "now", the time of the function call.
geositeImplies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation.
Returns
derivative of parallactic angle of this star at the given time per second.
Since
2017-04-06

◆ getPangDot() [2/2]

Nice::DMS Lics::LicsStar::getPangDot ( const Nice::Date t = Nice::Date::now(),
const Nice::GeoLocation geosite = Nice::GeoLocation() 
)

◆ object() [1/2]

std::string Lics::LicsStar::object ( ) const

◆ object() [2/2]

std::string Lics::LicsStar::object ( ) const

A construed object name derived from the coordinates.


Returns
The local radec[] numbers are converted to JHHMMSS+-DDMMSS
Since
2017-03-30

◆ operator Nice::SkyPoint() [1/2]

Lics::LicsStar::operator Nice::SkyPoint ( ) const

Construct a simple ra/dec pointing from this.


Returns
Cast into the two angles of a ra/dec pair.
Since
2017-01-18

◆ operator Nice::SkyPoint() [2/2]

Lics::LicsStar::operator Nice::SkyPoint ( ) const

◆ precess() [1/4]

LicsStar Lics::LicsStar::precess ( const Nice::Date t) const

◆ precess() [2/4]

Lics::LicsStar Lics::LicsStar::precess ( const Nice::Date t) const

Apply proper motion and precession from catalogue origin to some other time.


Parameters
tThe time when the coordinates should be valid.
Returns
a star moved from its epoch to the coordinates at time t.
Warning
This should not be called in conjunction with propMot(). The two functions are to be used exclusively, not in succession.
Since
2017-06-20

◆ precess() [3/4]

LicsStar Lics::LicsStar::precess ( ) const

◆ precess() [4/4]

Lics::LicsStar Lics::LicsStar::precess ( ) const

Precess equatorial coordinate from the catalogues epoch to now.


Returns
a star moved from its epoch to now according to proper motion and Earth precession.
Since
2017-03-01

◆ propMot() [1/4]

Lics::LicsStar Lics::LicsStar::propMot ( const Nice::Date t) const

Apply a proper motion.


Parameters
tThe time when the motion ought to be finished.
Returns
a star moved from its epoch to the epoch of t according to its proper motion vector.
Warning
apparently not used anywhere (superseeded by precess)
Since
2017-02-28

◆ propMot() [2/4]

LicsStar Lics::LicsStar::propMot ( const Nice::Date t) const

◆ propMot() [3/4]

Lics::LicsStar Lics::LicsStar::propMot ( ) const

Apply a proper motion.


Returns
a star moved from its epoch to now according to its proper motion vector.
Warning
apparently not used anywhere (superseeded by precess)
Since
2017-02-28

◆ propMot() [4/4]

LicsStar Lics::LicsStar::propMot ( ) const

◆ toLbtoLoc() [1/2]

std::string Lics::LicsStar::toLbtoLoc ( ) const

Convert the Ra and Dec coordinates to a LBTO star catalogue number format.


Returns
A string of the form HH MM SS.ssss sDD HH MM SS.sss .

◆ toLbtoLoc() [2/2]

std::string Lics::LicsStar::toLbtoLoc ( ) const

◆ toPosition2Py() [1/2]

std::string Lics::LicsStar::toPosition2Py ( ) const

◆ toPosition2Py() [2/2]

std::string Lics::LicsStar::toPosition2Py ( ) const

Convert the position2 structure to a Python list.


Returns
A string of the form ['type',coord1,coord2,....,DECRate]

◆ toSE() [1/2]

Nice::Point Lics::LicsStar::toSE ( const lbto::position2 targ,
const Lics::LicsAffTrans wcs 
)

◆ toSE() [2/2]

Nice::Point Lics::LicsStar::toSE ( const lbto::position2 targ,
const Lics::LicsAffTrans wcs 
)

Map the sky position to SE focal plane coordinates.


Parameters
[in]targThe coordinate that defines the center of the pointing.
[in]wcsThe transform which converts (delta/alpha) differential coordinats (radians) to units of the points. The exact meaning depends on the current star definition: if the star is already precessed, the wcs should not include an initial differential precession with LicsStar::diffPrecess().
Returns
the x and y coordinate in the unit chosen.
Since
2018-01-27
2018-04-24 stores the result also in the member fpCoord

◆ toWS() [1/2]

Laos::LaosSeAOType Lics::LicsStar::toWS ( const lbto::position2 targ) const

◆ toWS() [2/2]

Laos::LaosSeAOType Lics::LicsStar::toWS ( const lbto::position2 targ) const

Decide whether this is on the HWS (< 1 arcmin) or GWS (1 arcmin-3 arcmin) WS.


Parameters
targThe center target which sets the origin of the distance scales.
Returns
GWS or HWS.
Since
2017-07-13
Author
R. J. Mathar

◆ toXephem() [1/2]

std::string Lics::LicsStar::toXephem ( ) const

Convert the information to a line of the xephem format.


Returns
A string of the form name,f|S,HH:MM:SS|prmp,DD:MM:SS|prmp,magnitude,2000
Since
2017-12-07

◆ toXephem() [2/2]

std::string Lics::LicsStar::toXephem ( ) const

◆ transEquat2F() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transEquat2F ( const Lics::LicsIIFSide sdx,
const Laos::LaosSeAOType ghws,
const double  pang,
const double  motang,
const std::string &  unit 
)
static

◆ transEquat2F() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transEquat2F ( const Lics::LicsIIFSide sdx,
const Laos::LaosSeAOType ghws,
const double  pang,
const double  motang,
const std::string &  unit 
)
static

Transformation matrix from sky delta/alpha coordinates to SE F or Patrol positions.


Parameters
[in]sdxThe SX or DX indicator.
[in]ghwsIndicates whether the transformation is to HWS Pcam, HWS SE or GWS SE coordinates.
[in]pangThe parallactic angle at the time derotation starts (in radians).
[in]motAngThe nominal position of the motor (K-mirror, GWS bearing) at the same time as pang, in radians. The effective angle is a sum or difference (depending on sign conventions on the motor side) of parallactic and motor angle.
unitEither "mm" or "um" indicating millimeters or microns for the Points created.
Returns
The transformation which must be applied to dec/ra coordinates to obtain the SE positions. Note that the first (upper) component of the dec/ra vector must be the declination and the second (lower) the right ascension (multiplied by the cos(delta)). Both are assumend to be in radians relative to the beam center, at the current date. For the full transformation including precession from 2000 equatorial coordinates, the caller must pre-multipliby by the LicsStar::diffPrecess() matrix or apply the transformation to precessed star coordinates.
Since
2017-11-16

◆ transEquat2Horiz() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transEquat2Horiz ( const double  pang)
static

◆ transEquat2Horiz() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transEquat2Horiz ( const double  pang)
static

Transformation matrix which rotates sky delta (top coordinate) /alpha (bottom coordinate) directions to the azimuth (top coordinate)/ altitude (bottom coordinate) directions. The delta/alpha coordinates are in the presseced coordinate system of date.


Parameters
[in]pangThe parallactic angle at the applicable time (in radians).
Returns
The transformation which must be applied to dec/ra coordinates to obtain the (az/alt) coordinates. That result is intrinsically unitless (a pure translation without scale). The transformation has determinant +1 because there is no flip: the input and the output frames are both right-handed, which means, one gets the lower unit axis rotating the upper axis ccw .
Since
2017-11-15

◆ transEquat2Ifoc() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transEquat2Ifoc ( const Lics::LicsIIFSide sdx,
const double  pang 
)
static

◆ transEquat2Ifoc() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transEquat2Ifoc ( const Lics::LicsIIFSide sdx,
const double  pang 
)
static

Transformation matrix which rotates sky delta-alpha directions to the instrument focus aligned with the platform. Computes the transformation matrix which rotates sky delta (top coordinate) /alpha (bottom coordinate) directions to the instrument focus aligned with the platform, just after the annular mirror.


Parameters
[in]sdxThe SX or DX indicator for the LBT side. This is effectively determing which additional rotation is implied by M3, +- 108.5 degrees.
[in]pangThe parallactic angle at the applicable time (in radians).
Returns
The transformation which must be applied to dec/ra coordinates to obtain the place at the instrument focus. That result is intrinsically unitless (a pure rotation without scale). The transformation has determinant +1 because there is no flip: the input and the output frames are both right-handed, which means, one gets the lower unit axis rotating the upper axis ccw .
Since
2017-11-15

◆ transHoriz2Pcam() [1/2]

Lics::LicsAffTrans Lics::LicsStar::transHoriz2Pcam ( const Lics::LicsIIFSide sdx,
const double  motang 
)
static

Transformation matrix which rotates topocentric horizontal coordinates to patrol camera coordinates.


Parameters
[in]sdxThe SX or DX indicator.
[in]motAngThe nominal position of the motor (K-mirror) at the same time as pang, in radians. The effective angle is a sum or difference (depending on sign conventions on the motor side) of parallactic and motor angle.
Returns
The transformation which must be applied to horizontal topocentric coordinates (radians) to get unitless Pcam pixels. There is no shift component in that transformation, assuming that the input and output coordinates are deltas in arcsecond and in pixels measured from some beam center.
Since
2017-11-16

◆ transHoriz2Pcam() [2/2]

static Lics::LicsAffTrans Lics::LicsStar::transHoriz2Pcam ( const Lics::LicsIIFSide sdx,
const double  motang 
)
static

◆ transIfoc2Annm() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transIfoc2Annm ( const Lics::LicsIIFSide sdx,
const double  motang 
)
static

◆ transIfoc2Annm() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transIfoc2Annm ( const Lics::LicsIIFSide sdx,
const double  motang 
)
static

Transformation matrix which rotates platform horizontal coordinates (radians) to GWS SE motor coordinates.


Parameters
[in]sdxThe SX or DX indicator.
[in]motAngThe nominal position of the motor GWS bearing at the same time as pang, in radians. The effective angle is a sum or difference (depending on sign conventions on the motor side) of parallactic and motor angle.
Returns
The transformation which must be applied to right-handed az/alt coordinates to obtain the SE positions [um]. This has negative determinant because the annular mirror is involved which flips the component which is horizontal in the bench system.
Since
2017-08-03

◆ transKfp2Equat() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transKfp2Equat ( const double  mm2as)
static

◆ transKfp2Equat() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transKfp2Equat ( const double  mm2as)
static

Construct transformation from focal plane to equatorial coordinates. This involves a rotation by the 18.5 degrees (the same for SX and DX) and a homogenous radial scaling. There is no shift component: all parameters in the target and image space are deltas with respect to the beam center.


Parameters
[in]mm2asPlate scale mm per arcseconds in that focal plane.
Returns
The affine transformation from KFP coordinates [mm] to sky equatorial coordinates [rad]. Precession is not included, so the equatorial coordinates are those of date.
Author
Richard J. Mathar
Since
2017-11-16

◆ transPcam2F() [1/2]

static Lics::LicsAffTrans Lics::LicsStar::transPcam2F ( const Lics::LicsIIFSide sdx)
static

◆ transPcam2F() [2/2]

Lics::LicsAffTrans Lics::LicsStar::transPcam2F ( const Lics::LicsIIFSide sdx)
static

Construct transformation from Pcam pixel coordinates to SE F coordinates.


This is basically Kalyan's affine transformation of Feb 2017 (separately on SX or DX) to flip-rotate-shift the pixel coordinates in a PCAM image to get micrometers in the HWS SE plane. This includes a scaling by roughly a factor of 110 microns per pixel. The determinant of the transformation is negative, indicating the flip in the (relative) image orientation. The associated shift component takes care of moving the (0,0) pixel of the patrol camera (just outside the lower left edge of the effective readout) to the center of the star enlarger global motor coordinates.

Returns
The affine transformation from PCam pixel units to SE microns.
Author
Richard J. Mathar
Since
2017-10-24

Member Data Documentation

◆ fpCoord

Nice::Point Lics::LicsStar::fpCoord

storage for some 2D focal plane coordinates. This stores the two coordinates from the recent toSE() call and is merely facilitating the python interface. So this is not referring to one single patrol camera or star enlarger focal plane but mutable by subsequent calls.


Since
2018-04-24

The documentation for this class was generated from the following files: