PCL
pcl::GaiaDatabaseFile Class Reference

Gaia catalog star database file (XPSD format). More...

#include <GaiaDatabaseFile.h>

+ Inheritance diagram for pcl::GaiaDatabaseFile:

Public Member Functions

 GaiaDatabaseFile ()=default
 
 GaiaDatabaseFile (const GaiaDatabaseFile &)=delete
 
 GaiaDatabaseFile (const String &filePath)
 
const IsoStringDataRelease () const
 
bool HasMeanSpectrumData () const
 
GaiaDatabaseFileoperator= (const GaiaDatabaseFile &)=delete
 
GaiaDatabaseFileoperator= (GaiaDatabaseFile &&)=default
 
void Search (GaiaSearchData &data) const
 
int SpectrumBits () const
 
int SpectrumCount () const
 
float SpectrumStart () const
 
float SpectrumStep () const
 
- Public Member Functions inherited from pcl::StarDatabaseFile
 StarDatabaseFile ()=default
 
 StarDatabaseFile (const StarDatabaseFile &)=delete
 
 StarDatabaseFile (const String &filePath)
 
 StarDatabaseFile (StarDatabaseFile &&)=default
 
virtual ~StarDatabaseFile () noexcept(false)
 
void Close ()
 
const StringFilePath () const
 
bool IsOpen () const
 
float MagnitudeHigh () const
 
float MagnitudeLow () const
 
const XPSD::MetadataMetadata () const
 
void Open (const String &filePath)
 
StarDatabaseFileoperator= (const StarDatabaseFile &)=delete
 
StarDatabaseFileoperator= (StarDatabaseFile &&)=default
 
const XPSD::StatisticsStatistics () const
 

Additional Inherited Members

- Static Public Member Functions inherited from pcl::StarDatabaseFile
static void Serialize (const String &filePath, const XPSD::Metadata &metadata, const XPSD::Statistics &statistics, float magnitudeLow, float magnitudeHigh, const Array< XPSD::IndexTree > &index, const ByteArray &data, const Compression *compression=nullptr, const String &parameters=String())
 

Detailed Description

This class implements an interface to XPSD files serializing encoded Gaia star data. As of writing this documentation (July 2022), Gaia DR2, EDR3 and DR3 are supported and have been implemented. In addition, a special variant with BP/RP sampled mean spectrum data is also supported for Gaia DR3.

The most important functionality of this class is performing fast indexed search operations to retrieve point source data for Gaia stars matching a set of user-defined criteria. See the GaiaDatabaseFile::Search() member function and the GaiaSearchData structure for detailed information.

This implementation provides the following data for the complete Gaia DR2, EDR3 and DR3 catalogs:

  • Source positions.
  • Parallaxes.
  • Proper motions.
  • Mean magnitudes on the G, GBP and GRP bands.
  • Data availability and quality flags.
  • BP/RP sampled mean spectrum data (DR3 only, special XPSD variant).

References

Credits

This work has made use of data from the European Space Agency (ESA) mission Gaia (https://www.cosmos.esa.int/gaia), processed by the Gaia Data Processing and Analysis Consortium (DPAC, https://www.cosmos.esa.int/web/gaia/dpac/consortium). Funding for the DPAC has been provided by national institutions, in particular the institutions participating in the Gaia Multilateral Agreement.

See also
StarDatabaseFile, APASSDatabaseFile

Definition at line 313 of file GaiaDatabaseFile.h.

Constructor & Destructor Documentation

◆ GaiaDatabaseFile() [1/3]

pcl::GaiaDatabaseFile::GaiaDatabaseFile ( )
default

Default constructor.

Constructs an invalid instance that cannot be used until initialized by calling the Open() member function.

◆ GaiaDatabaseFile() [2/3]

pcl::GaiaDatabaseFile::GaiaDatabaseFile ( const String filePath)
inline

Constructs a &GaiaDatabaseFile instance initialized from the specified point source database file in XPSD format. As of writing this documentation (July 2022), The Gaia DR2, EDR3 and DR3 catalogs are available, as well as a special DR3/SP variant with BP/RP sampled mean spectrum data.

In the event of errors or invalid data, this constructor will throw the appropriate Error exception.

Definition at line 335 of file GaiaDatabaseFile.h.

References pcl::GenericString< T, R, A >::IsEmpty(), and pcl::StarDatabaseFile::Metadata().

◆ GaiaDatabaseFile() [3/3]

pcl::GaiaDatabaseFile::GaiaDatabaseFile ( const GaiaDatabaseFile )
delete

Deleted copy constructor. GaiaDatabaseFile instances are unique, hence cannot be copied.

Member Function Documentation

◆ DataRelease()

const IsoString& pcl::GaiaDatabaseFile::DataRelease ( ) const
inline

Returns the name of the Gaia data release corresponding to the data available in this database file. As of writing this documentation (July 2022), this member function can return one of "DR2", "EDR3", "DR3".

Definition at line 410 of file GaiaDatabaseFile.h.

◆ HasMeanSpectrumData()

bool pcl::GaiaDatabaseFile::HasMeanSpectrumData ( ) const
inline

Returns true iff this database file includes BP/RP sampled mean spectrum data (Gaia DR3/SP database files only).

Definition at line 419 of file GaiaDatabaseFile.h.

◆ operator=() [1/2]

GaiaDatabaseFile& pcl::GaiaDatabaseFile::operator= ( const GaiaDatabaseFile )
delete

Deleted copy assignment operator. GaiaDatabaseFile instances are unique, hence cannot be copied.

◆ operator=() [2/2]

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

Move assignment operator. Returns a reference to this object.

◆ Search()

void pcl::GaiaDatabaseFile::Search ( GaiaSearchData data) const
inline

Performs a search operation for point sources matching the specified criteria.

This member function performs a fast indexed search for point sources in this database file matching the criteria defined in the specified data structure. See the GaiaSearchData structure for detailed information on search parameters and output data.

Summarily, search criteria include:

  • The region of the sky where point sources will be searched for. This region is defined by the equatorial coordinates of a field center and a field radius.
  • An optional range of magnitudes.
  • An optional limit for the number of sources included in the search result.

The result of the search operation is also returned in the specified data structure, including, among others, the following items:

  • The list of point sources found, including BP/RP sampled mean spectrum data if the database contains mean spectrum data.
  • Instrumentation items for performance analysis, including: total search time, time used for I/O operations, total I/O operations, time used for data decoding, and time used for data decompression.

Definition at line 504 of file GaiaDatabaseFile.h.

◆ SpectrumBits()

int pcl::GaiaDatabaseFile::SpectrumBits ( ) const
inline

Returns the bit resolution of the sampled spectrum data.

The value returned by this function can be 8 or 16 for database files containing BP/RP sampled mean spectrum data (see HasMeanSpectrumData()). For other databases this function returns zero.

Definition at line 467 of file GaiaDatabaseFile.h.

◆ SpectrumCount()

int pcl::GaiaDatabaseFile::SpectrumCount ( ) const
inline

Returns the number of items in the array of sampled spectrum data.

The value returned by this function is only meaningful for database files containing BP/RP sampled mean spectrum data (see HasMeanSpectrumData()). For other databases this function returns zero.

Definition at line 455 of file GaiaDatabaseFile.h.

◆ SpectrumStart()

float pcl::GaiaDatabaseFile::SpectrumStart ( ) const
inline

Returns the starting wavelength in nm of the sampled spectrum data.

The value returned by this function is only meaningful for database files containing BP/RP sampled mean spectrum data (see HasMeanSpectrumData()). For other databases this function returns zero.

Definition at line 431 of file GaiaDatabaseFile.h.

◆ SpectrumStep()

float pcl::GaiaDatabaseFile::SpectrumStep ( ) const
inline

Returns the wavelength step size in nm of the sampled spectrum data.

The value returned by this function is only meaningful for database files containing BP/RP sampled mean spectrum data (see HasMeanSpectrumData()). For other databases this function returns zero.

Definition at line 443 of file GaiaDatabaseFile.h.


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