TwiceAsNice
2019-02-18
|
A LbcsStar object is a single sky object with location, brightness ect. More...
#include <LicsStar.h>
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... | |
![]() | |
::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 |
A LbcsStar object is a single sky object with location, brightness ect.
Lics::LicsStar::LicsStar | ( | ) |
default ctor. Basically not useful besides to build an empty star catalogue
Lics::LicsStar::LicsStar | ( | const lbto::position2 & | star | ) |
Create from a given structure.
star | The contents to be copied in. |
Ctor given just a position on the sky. The proper motions, magnitudes etc are all kept at zero.
ra | Right ascension |
dec | Declination |
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.
str | The string. This is typically a line of a star catalogue. |
typ | The indication of how this string is formatted. Should be "lbto" or "nomad". No other formats are implemented. |
Lics::LicsStar::LicsStar | ( | ) |
Lics::LicsStar::LicsStar | ( | const lbto::position2 & | star | ) |
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.
void Lics::LicsStar::aladin | ( | ) | const |
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.
t | The 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. | |
lowLim | The lower limit switch of the motor (in degrees). This is usually obtained by converting the TRAVELRANGE[0] by the TRANS.DEGREE of the configuration. | |
hiLim | The high limit switch (in degrees) This is usually obtained by converting the TRAVELRANGE[1] by the TRANS.DEGREE of the configuration. | |
dirScale | The 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] | durat | The maximum time of extrapolating the trajectory (in seconds) On return the time that is actually possible within the travel range. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
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 |
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.
t | The civil time in UTC time scales at which derotation should start. |
travelrange | The motor limit switches in units of steps. This is usually obtained by reading the TRAVELRANGE in the configuration. |
transDegree | The conversion matrix for conversion of steps to degress. This is usually obtained by reading TRANS.DEGREE of the configuration. |
cfgDirection | The value of CFG.DIRECTION of the configuration. The absolute value is 0.5 for K-mirrors and 1.0 for the others. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
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 |
Lics::LicsAffTrans Lics::LicsStar::diffPrecess | ( | const Nice::Date & | t | ) | const |
Construct the matrix of differential precession from J2000 to the time argument.
t | The time when the coordinates should be valid. |
Lics::LicsAffTrans Lics::LicsStar::diffPrecess | ( | const Nice::Date & | t | ) | const |
Lics::LicsAffTrans Lics::LicsStar::diffPrecess | ( | ) | const |
Lics::LicsAffTrans Lics::LicsStar::diffPrecess | ( | ) | const |
Construct the matrix of differential precession from J2000 to now.
Distance to another star in degrees.
oth | The other star to which the distance (along a great arc) is measured. |
double Lics::LicsStar::distance | ( | const lbto::position2 & | left, |
const lbto::position2 & | right | ||
) | const |
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.
left | The first star of the pair. |
right | The second star of the pair. |
|
static |
|
static |
compute the apparent Greenwich sidereal time.
[in] | t | The civil time in UTC time scales. The default is "now", the time of the function call. |
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)
t | The civil time in UTC time scales. The default is "now", the time of the function call. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
Nice::SkyPoint Lics::LicsStar::getHoriz | ( | const Nice::Date & | t = Nice::Date::now() , |
const Nice::GeoLocation & | geosite = Nice::GeoLocation() |
||
) | const |
|
static |
|
static |
compute the local sidereal time.
t | The civil time in UTC time scales. The default is "now", the time of the function call. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
Nice::DMS Lics::LicsStar::getPang | ( | const Nice::Date & | t = Nice::Date::now() , |
const Nice::GeoLocation & | geosite = Nice::GeoLocation() |
||
) | const |
compute the parallactic angle.
t | The civil time in UTC time scales. The default is "now", the time of the function call. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
Nice::DMS Lics::LicsStar::getPang | ( | const Nice::Date & | t = Nice::Date::now() , |
const Nice::GeoLocation & | geosite = Nice::GeoLocation() |
||
) | const |
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.
t | The civil time in UTC time scales. The default is "now", the time of the function call. |
geosite | Implies the geographic longitude of the observatory. The default is the LBTO in Arizona, the default ctor for the GeoLocation. |
Nice::DMS Lics::LicsStar::getPangDot | ( | const Nice::Date & | t = Nice::Date::now() , |
const Nice::GeoLocation & | geosite = Nice::GeoLocation() |
||
) |
std::string Lics::LicsStar::object | ( | ) | const |
std::string Lics::LicsStar::object | ( | ) | const |
A construed object name derived from the coordinates.
Lics::LicsStar::operator Nice::SkyPoint | ( | ) | const |
Construct a simple ra/dec pointing from this.
Lics::LicsStar::operator Nice::SkyPoint | ( | ) | const |
LicsStar Lics::LicsStar::precess | ( | const Nice::Date & | t | ) | const |
Lics::LicsStar Lics::LicsStar::precess | ( | const Nice::Date & | t | ) | const |
Apply proper motion and precession from catalogue origin to some other time.
t | The time when the coordinates should be valid. |
LicsStar Lics::LicsStar::precess | ( | ) | const |
Lics::LicsStar Lics::LicsStar::precess | ( | ) | const |
Precess equatorial coordinate from the catalogues epoch to now.
Lics::LicsStar Lics::LicsStar::propMot | ( | const Nice::Date & | t | ) | const |
Apply a proper motion.
t | The time when the motion ought to be finished. |
LicsStar Lics::LicsStar::propMot | ( | const Nice::Date & | t | ) | const |
Lics::LicsStar Lics::LicsStar::propMot | ( | ) | const |
Apply a proper motion.
LicsStar Lics::LicsStar::propMot | ( | ) | const |
std::string Lics::LicsStar::toLbtoLoc | ( | ) | const |
Convert the Ra and Dec coordinates to a LBTO star catalogue number format.
std::string Lics::LicsStar::toLbtoLoc | ( | ) | const |
std::string Lics::LicsStar::toPosition2Py | ( | ) | const |
std::string Lics::LicsStar::toPosition2Py | ( | ) | const |
Nice::Point Lics::LicsStar::toSE | ( | const lbto::position2 & | targ, |
const Lics::LicsAffTrans & | wcs | ||
) |
Nice::Point Lics::LicsStar::toSE | ( | const lbto::position2 & | targ, |
const Lics::LicsAffTrans & | wcs | ||
) |
Map the sky position to SE focal plane coordinates.
[in] | targ | The coordinate that defines the center of the pointing. |
[in] | wcs | The 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(). |
Laos::LaosSeAOType Lics::LicsStar::toWS | ( | const lbto::position2 & | targ | ) | const |
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.
targ | The center target which sets the origin of the distance scales. |
std::string Lics::LicsStar::toXephem | ( | ) | const |
Convert the information to a line of the xephem format.
std::string Lics::LicsStar::toXephem | ( | ) | const |
|
static |
|
static |
Transformation matrix from sky delta/alpha coordinates to SE F or Patrol positions.
[in] | sdx | The SX or DX indicator. |
[in] | ghws | Indicates whether the transformation is to HWS Pcam, HWS SE or GWS SE coordinates. |
[in] | pang | The parallactic angle at the time derotation starts (in radians). |
[in] | motAng | The 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. |
unit | Either "mm" or "um" indicating millimeters or microns for the Points created. |
|
static |
|
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.
[in] | pang | The parallactic angle at the applicable time (in radians). |
|
static |
|
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.
[in] | sdx | The SX or DX indicator for the LBT side. This is effectively determing which additional rotation is implied by M3, +- 108.5 degrees. |
[in] | pang | The parallactic angle at the applicable time (in radians). |
|
static |
Transformation matrix which rotates topocentric horizontal coordinates to patrol camera coordinates.
[in] | sdx | The SX or DX indicator. |
[in] | motAng | The 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. |
|
static |
|
static |
|
static |
Transformation matrix which rotates platform horizontal coordinates (radians) to GWS SE motor coordinates.
[in] | sdx | The SX or DX indicator. |
[in] | motAng | The 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. |
|
static |
|
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.
[in] | mm2as | Plate scale mm per arcseconds in that focal plane. |
|
static |
|
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.
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.