PCL
|
A set of Chebyshev polynomial expansions and associated ancillary data for ephemeris serialization. More...
#include <EphemerisFile.h>
Public Member Functions | |
SerializableEphemerisObjectData ()=default | |
SerializableEphemerisObjectData (const IsoString &id, const IsoString &origin, const String &name=String(), const String &desc=String()) | |
SerializableEphemerisObjectData (const SerializableEphemerisObjectData &)=default | |
SerializableEphemerisObjectData (SerializableEphemerisObjectData &&)=default | |
SerializableEphemerisObjectData & | operator= (const SerializableEphemerisObjectData &)=default |
SerializableEphemerisObjectData & | operator= (SerializableEphemerisObjectData &&)=default |
Public Attributes | |
Optional< double > | A1 |
Optional< double > | A2 |
Optional< double > | A3 |
Optional< double > | B_V |
Optional< double > | D |
SerializableEphemerisDataList | data [2] |
String | description |
Optional< double > | DT |
Optional< double > | G |
Optional< double > | H |
Optional< double > | I_R |
Optional< double > | K1 |
Optional< double > | K2 |
Optional< double > | M1 |
Optional< double > | M2 |
IsoString | objectId |
String | objectName |
IsoString | originId |
Optional< double > | PC |
Optional< double > | U_B |
This structure associates a unique pair of object and origin identifiers, an optional object name, an optional descriptive text, and one or two ordered sequences of Chebyshev polynomial expansions for calculation of ephemerides within a prescribed time span. These data are suitable for generation of an ephemeris file in XEPH format with the EphemerisFile::Serialize() static member function.
The first sequence of Chebyshev polynomial expansions is mandatory for calculation of ephemeris function values (typically, the components of a position vector as a function of time). An additional sequence of expansions for the first derivative (typically, the components of a velocity vector) is optional. Derivative expansions should be used when the velocity of an object is known very accurately upon ephemeris generation, and this high accuracy must be preserved.
All ephemeris data stored in XEPH files must be referred to the International Celestial Reference System (ICRS/J2000.0).
Definition at line 316 of file EphemerisFile.h.
|
inline |
Memberwise constructor.
Definition at line 479 of file EphemerisFile.h.
|
default |
Default constructor.
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Copy assignment operator. Returns a reference to this object.
|
default |
Move assignment operator. Returns a reference to this object.
Optional<double> pcl::SerializableEphemerisObjectData::A1 |
Comet non-gravitational acceleration, radial component (au/day^2).
Definition at line 459 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::A2 |
Comet non-gravitational acceleration, transverse component (au/day^2).
Definition at line 464 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::A3 |
Comet non-gravitational acceleration, normal component (au/day^2).
Definition at line 469 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::B_V |
Color index B-V in magnitudes.
Definition at line 439 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::D |
Diameter of the object in km.
Definition at line 454 of file EphemerisFile.h.
SerializableEphemerisDataList pcl::SerializableEphemerisObjectData::data[2] |
Two dynamic lists of Chebyshev polynomial expansions. The first list is mandatory for approximation of function values (typically, the components of a position vector). The second list is optional for approximation of first derivatives (typically, the components of a velocity vector). Both sequences must cover the entire ephemeris time span with arbitrary subspans in ascending time order without any gaps.
Definition at line 370 of file EphemerisFile.h.
String pcl::SerializableEphemerisObjectData::description |
Optional information about the object and/or the ephemeris data being serialized.
Definition at line 360 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::DT |
Comet non-gravitational acceleration, perihelion time offset (days).
Definition at line 474 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::G |
Asteroid magnitude slope parameter. See the H data member for references.
Definition at line 390 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::H |
Absolute asteroid magnitude. H is the visual magnitude of the object as seen at 1 au of the Earth, 1 au from the Sun, and with a phase angle of zero degrees.
References
E. Bowell et al., Asteroids II, R. P. Binzel et al. (eds.), The University of Arizona Press, Tucson, 1989, pp. 549-554.
Urban, Sean E., Kenneth Seidelmann, P., ed. (2013), The Explanatory Supplement to the Astronomical Almanac 3rd Edition, Section 10.4.3.
Definition at line 385 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::I_R |
Color index I-R in magnitudes.
Definition at line 449 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::K1 |
Comet total magnitude slope parameter. See the M1 data member for information on the calculation of comet apparent magnitudes.
Definition at line 415 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::K2 |
Comet nuclear magnitude slope parameter. See the M1 data member for information on the calculation of comet apparent magnitudes.
Definition at line 428 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::M1 |
Comet total absolute magnitude. M1 is the visual absolute magnitude of the comet's combined nucleus and coma.
For the calculation of apparent comet magnitudes we apply the following equations:
Tmag = M1 + 5*log(d) + K1*log(r)
Nmag = M2 + 5*log(d) + K2*log(r) + PC*beta
where Tmag and Nmag are, respectively, the total (nucleus+coma) and nuclear apparent magnitudes. In these equations, M1 and M2 are the comet's total and nuclear absolute magnitude paranmeters, K1 and K2 are the total and nuclear magnitude slope parameters, PC is the nuclear magnitude phase coefficient, d is the comet's distance to Earth, r is its distance from the Sun, and beta is the phase angle.
Definition at line 409 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::M2 |
Comet nuclear absolute magnitude. M2 is the visual absolute magnitude of the comet's nucleus. See the M1 data member for information on the calculation of comet apparent magnitudes.
Definition at line 422 of file EphemerisFile.h.
IsoString pcl::SerializableEphemerisObjectData::objectId |
Unique identifier of the object or item for which ephemeris data have been generated. This should be a short string to uniquely identify the object in the context of the ephemeris file being serialized. For example, standard XEPH files serializing JPL DE/LE ephemerides use a two/three letter convention for object identifiers: 'Me', 'Ve', 'EMB', 'Ea', 'Ma', etc, respectively for Mercury, Venus, Earth-Moon barycenter, Earth, Mars, etc. Object identifiers are considered as case-sensitive in XEPH files.
Definition at line 328 of file EphemerisFile.h.
String pcl::SerializableEphemerisObjectData::objectName |
Optional Name of the object or item for which ephemeris data have been generated. This can be an arbitrary string, such as 'Saturn', 'Iris', or 'C/1996 B2'. However, bear in mind that ephemeris data can be accessed both by object identifiers and object names, so there should be no duplicate names. Object names are considered as case-insensitive in XEPH files, so all of 'Jupiter', 'jupiter' and 'JUPITER' are equivalent.
Definition at line 354 of file EphemerisFile.h.
IsoString pcl::SerializableEphemerisObjectData::originId |
Identifier of the origin of coordinates (case-sensitive). This can be the unique identifier of a solar system object, or the identifier of an arbitrary object or location, which will be treated as implementation-specific, that is, specific to the data being serialized and to the procedures employed to generate them.
For example, if the ephemeris data being serialized are geocentric, this member should be "Ea", which is the unique identifier of the Earth's center in standard fundamental ephemerides files. Similarly, if the ephemerides are heliocentric, this member should be "Sn". If the ephemeris data are with respect to the solar system barycenter, this member must be "SSB", also for coherence with fundamental ephemerides.
Definition at line 344 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::PC |
Comet nuclear magnitude phase coefficient. See the M1 data member for information on the calculation of comet apparent magnitudes.
Definition at line 434 of file EphemerisFile.h.
Optional<double> pcl::SerializableEphemerisObjectData::U_B |
Color index U-B in magnitudes.
Definition at line 444 of file EphemerisFile.h.