LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Classes | Public Member Functions | List of all members
lsst::meas::extensions::astrometryNet::MultiIndex Class Reference

#include <astrometry_net.h>

Public Member Functions

 MultiIndex (std::string const &filepath)
 Construct a MultiIndex from an astrometry.net multi-index file. More...
 
 ~MultiIndex ()
 
index_t * operator[] (int i) const
 Get the specified index. More...
 
void addIndex (std::string const &filepath, bool metadataOnly)
 Add an index read from a file. More...
 
int isWithinRange (double ra, double dec, double radius_deg)
 Is this multi-index in range of the specified cone? More...
 
void unload ()
 Unload the indices. More...
 
std::string getName () const
 
int getLength () const
 Get the number of indices. More...
 
void reload ()
 Reload the indices. More...
 

Detailed Description

Definition at line 51 of file astrometry_net.h.

Constructor & Destructor Documentation

◆ MultiIndex()

lsst::meas::extensions::astrometryNet::MultiIndex::MultiIndex ( std::string const &  filepath)

Construct a MultiIndex from an astrometry.net multi-index file.

Definition at line 32 of file astrometry_net.cc.

32  : _multiindex(multiindex_new(filepath.c_str())) {
33  if (!_multiindex) {
35  os << "Could not read multi-index star file " << filepath;
37  }
38 }
T str(T... args)
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
std::ostream * os
Definition: Schema.cc:746
Reports errors that are due to events beyond the control of the program.
Definition: Runtime.h:104

◆ ~MultiIndex()

lsst::meas::extensions::astrometryNet::MultiIndex::~MultiIndex ( )
inline

Definition at line 60 of file astrometry_net.h.

60 {}

Member Function Documentation

◆ addIndex()

void lsst::meas::extensions::astrometryNet::MultiIndex::addIndex ( std::string const &  filepath,
bool  metadataOnly 
)

Add an index read from a file.

Definition at line 40 of file astrometry_net.cc.

40  {
41  int const flags = metadataOnly ? INDEX_ONLY_LOAD_METADATA : 0;
42  if (multiindex_add_index(_multiindex.get(), filepath.c_str(), flags)) {
44  os << "Failed to read multiindex from \"" << filepath << "\""
45  << " with meatadaOnly=" << metadataOnly;
47  }
48 }
T str(T... args)
T get(T... args)
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
std::ostream * os
Definition: Schema.cc:746
Reports errors that are due to events beyond the control of the program.
Definition: Runtime.h:104

◆ getLength()

int lsst::meas::extensions::astrometryNet::MultiIndex::getLength ( ) const
inline

Get the number of indices.

Definition at line 93 of file astrometry_net.h.

93  {
94  return multiindex_n(_multiindex.get());
95  }
T get(T... args)

◆ getName()

std::string lsst::meas::extensions::astrometryNet::MultiIndex::getName ( ) const
inline

Definition at line 86 of file astrometry_net.h.

86  {
87  return _multiindex->fits->filename;
88  }

◆ isWithinRange()

int lsst::meas::extensions::astrometryNet::MultiIndex::isWithinRange ( double  ra,
double  dec,
double  radius_deg 
)

Is this multi-index in range of the specified cone?

Definition at line 50 of file astrometry_net.cc.

50  {
51  return index_is_within_range(multiindex_get(_multiindex.get(), 0), ra, dec, radius_deg);
52 }
double dec
Definition: Match.cc:41
T get(T... args)

◆ operator[]()

index_t* lsst::meas::extensions::astrometryNet::MultiIndex::operator[] ( int  i) const
inline

Get the specified index.

Definition at line 65 of file astrometry_net.h.

65  {
66  return multiindex_get(_multiindex.get(), i);
67  }
T get(T... args)

◆ reload()

void lsst::meas::extensions::astrometryNet::MultiIndex::reload ( )

Reload the indices.

Definition at line 54 of file astrometry_net.cc.

54  {
55  if (multiindex_reload_starkd(_multiindex.get())) {
57  os << "Failed to reload multi-index star file " << getName();
59  }
60 }
T str(T... args)
T get(T... args)
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
std::ostream * os
Definition: Schema.cc:746
Reports errors that are due to events beyond the control of the program.
Definition: Runtime.h:104

◆ unload()

void lsst::meas::extensions::astrometryNet::MultiIndex::unload ( )
inline

Unload the indices.

Definition at line 82 of file astrometry_net.h.

82  {
83  multiindex_unload(_multiindex.get());
84  }
T get(T... args)

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