PCL
pcl::SerializableEphemerisObjectData Struct Reference

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
 
SerializableEphemerisObjectDataoperator= (const SerializableEphemerisObjectData &)=default
 
SerializableEphemerisObjectDataoperator= (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
 

Detailed Description

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

See also
EphemerisFile::Serialize()

Definition at line 316 of file EphemerisFile.h.

Constructor & Destructor Documentation

◆ SerializableEphemerisObjectData() [1/4]

pcl::SerializableEphemerisObjectData::SerializableEphemerisObjectData ( const IsoString id,
const IsoString origin,
const String name = String(),
const String desc = String() 
)
inline

Memberwise constructor.

Definition at line 479 of file EphemerisFile.h.

◆ SerializableEphemerisObjectData() [2/4]

pcl::SerializableEphemerisObjectData::SerializableEphemerisObjectData ( )
default

Default constructor.

◆ SerializableEphemerisObjectData() [3/4]

pcl::SerializableEphemerisObjectData::SerializableEphemerisObjectData ( const SerializableEphemerisObjectData )
default

Copy constructor.

◆ SerializableEphemerisObjectData() [4/4]

pcl::SerializableEphemerisObjectData::SerializableEphemerisObjectData ( SerializableEphemerisObjectData &&  )
default

Move constructor.

Member Function Documentation

◆ operator=() [1/2]

SerializableEphemerisObjectData& pcl::SerializableEphemerisObjectData::operator= ( const SerializableEphemerisObjectData )
default

Copy assignment operator. Returns a reference to this object.

◆ operator=() [2/2]

SerializableEphemerisObjectData& pcl::SerializableEphemerisObjectData::operator= ( SerializableEphemerisObjectData &&  )
default

Move assignment operator. Returns a reference to this object.

Member Data Documentation

◆ A1

Optional<double> pcl::SerializableEphemerisObjectData::A1

Comet non-gravitational acceleration, radial component (au/day^2).

Definition at line 459 of file EphemerisFile.h.

◆ A2

Optional<double> pcl::SerializableEphemerisObjectData::A2

Comet non-gravitational acceleration, transverse component (au/day^2).

Definition at line 464 of file EphemerisFile.h.

◆ A3

Optional<double> pcl::SerializableEphemerisObjectData::A3

Comet non-gravitational acceleration, normal component (au/day^2).

Definition at line 469 of file EphemerisFile.h.

◆ B_V

Optional<double> pcl::SerializableEphemerisObjectData::B_V

Color index B-V in magnitudes.

Definition at line 439 of file EphemerisFile.h.

◆ D

Optional<double> pcl::SerializableEphemerisObjectData::D

Diameter of the object in km.

Definition at line 454 of file EphemerisFile.h.

◆ data

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.

◆ description

String pcl::SerializableEphemerisObjectData::description

Optional information about the object and/or the ephemeris data being serialized.

Definition at line 360 of file EphemerisFile.h.

◆ DT

Optional<double> pcl::SerializableEphemerisObjectData::DT

Comet non-gravitational acceleration, perihelion time offset (days).

Definition at line 474 of file EphemerisFile.h.

◆ G

Optional<double> pcl::SerializableEphemerisObjectData::G

Asteroid magnitude slope parameter. See the H data member for references.

Definition at line 390 of file EphemerisFile.h.

◆ 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.

◆ I_R

Optional<double> pcl::SerializableEphemerisObjectData::I_R

Color index I-R in magnitudes.

Definition at line 449 of file EphemerisFile.h.

◆ K1

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.

◆ K2

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.

◆ M1

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.

◆ M2

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.

◆ objectId

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.

◆ objectName

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.

◆ originId

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.

◆ PC

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.

◆ U_B

Optional<double> pcl::SerializableEphemerisObjectData::U_B

Color index U-B in magnitudes.

Definition at line 444 of file EphemerisFile.h.


The documentation for this struct was generated from the following file: