3 #ifndef GCP_UTIL_NEDREADER_H
4 #define GCP_UTIL_NEDREADER_H
15 #include "gcp/util/common/DecAngle.h"
16 #include "gcp/util/common/Declination.h"
17 #include "gcp/util/common/HourAngle.h"
18 #include "gcp/util/common/PtSrcReader.h"
39 CLASSIFIED_EXTRAGALACTIC = 0x1,
40 UNCLASSIFIED_EXTRAGALACTIC = 0x2,
41 GALAXY_COMPONENT = 0x4,
42 TYPE_ALL = CLASSIFIED_EXTRAGALACTIC | UNCLASSIFIED_EXTRAGALACTIC | GALAXY_COMPONENT
56 GALAXY_CLUSTER = 0x10,
60 DAMPED_LYMAN_ALPHA = 0x100,
61 ABSORB_LINE_SYSTEM = 0x200,
62 EMISSION_LINE_SRC = 0x400,
70 UV_EXCESS_SRC = 0x8000,
72 GAMMARAY_SRC = 0x20000,
78 PLANETARY_NEBULA = 0x100000,
79 SUPERNOVA_REMNANT = 0x200000,
85 std::string inputName_;
86 std::string outputName_;
89 Obj(
unsigned type,
unsigned short id, std::string inputName, std::string outputName, std::string expl) {
92 inputName_ = inputName;
93 outputName_ = outputName;
108 CAT_ALL = 0xFFFFFFFF,
133 CAT_MESSIER = 0x40000,
144 std::string inputName_;
145 std::string outputName_;
148 Catalog(
unsigned type,
unsigned short id, std::string inputName, std::string outputName, std::string expl) {
151 inputName_ = inputName;
152 outputName_ = outputName;
180 bool atEndOfResponse();
191 void closeCatalogFile();
203 void applyCorrections(PtSrcReader::Source& src);
207 void setRaRange(HourAngle& ra, Declination& dec, Angle& radius);
213 std::string::size_type start_;
214 std::string::size_type stop_;
216 static std::vector<Obj> objects_;
217 static std::vector<Catalog> catalogs_;
222 std::ostringstream lastRead_;
224 std::list<PtSrcReader::Source> srcs_;
225 std::list<PtSrcReader::Source>::iterator srcIter_;
237 void getUrl(std::string url);
239 unsigned short objIdToNedId(
unsigned short id);
240 unsigned short catIdToNedId(
unsigned short id);
244 HourAngle ra, Declination dec,
246 unsigned objIncMask,
unsigned objExcMask,
247 unsigned catMask,
unsigned objSel,
unsigned catSel);
251 void maskObject(std::string name,
unsigned& mask);
256 void addToObjectIncludeMask(
unsigned mask);
257 void addToObjectExcludeMask(
unsigned mask);
259 void setObjectIncludeMask(
unsigned mask);
260 void setObjectExcludeMask(
unsigned mask);
262 void clearObjectIncludeMask();
263 void clearObjectExcludeMask();
265 void matchAny(std::ostringstream& os);
266 void matchAll(std::ostringstream& os);
270 void maskCatalog(std::string name,
unsigned& mask);
274 void addToCatalogMask(
unsigned mask);
275 void setCatalogMask(
unsigned mask);
276 void clearCatalogMask();
278 void setObjectSelection(
unsigned type);
279 void setCatalogSelection(
unsigned type);
289 static size_t handle_data(
void*
buffer,
size_t size,
size_t nmemb,
void* userp);
293 void removeDuplicates();
297 std::vector<std::string> listObjects(
unsigned short id);
298 std::vector<std::string> listCatalogs();
300 unsigned objIncMask_;
301 unsigned objExcMask_;
314 #endif // End #ifndef GCP_UTIL_NEDREADER_H
bool eof()
Definition: NedReader.cc:159
Definition: NedReader.h:28
void constructNearPositionSearchUrl(std::ostringstream &os, HourAngle ra, Declination dec, Angle radius, unsigned objIncMask, unsigned objExcMask, unsigned catMask, unsigned objSel, unsigned catSel)
Definition: NedReader.cc:261
static std::vector< Catalog > initCatalogs()
Definition: NedReader.cc:444
void initializeResponseParse()
Definition: NedReader.cc:177
PtSrcReader::Source readNextEntry()
Definition: NedReader.cc:167
virtual ~NedReader()
Definition: NedReader.cc:42
void setRaRange(HourAngle &ra, Declination &dec, Angle &radius)
Definition: NedReader.cc:544
void maskObject(std::string name, unsigned &mask)
Definition: NedReader.cc:395
static std::vector< Obj > initObjects()
Definition: NedReader.cc:483
Definition: NedReader.h:82
void includeObjects(std::ostringstream &os, unsigned mask)
Definition: NedReader.cc:363
PtSrcReader::Source parseSource(std::string line)
Definition: NedReader.cc:217
void getUrl(std::string url)
Definition: NedReader.cc:47
void selectCatalogs(std::ostringstream &os, unsigned mask)
Definition: NedReader.cc:409
PtSrcReader::Source readNextSourceFromResponse()
Definition: NedReader.cc:197
Definition: tVideoCapabilitiesEml.cc:67
void maskCatalog(std::string name, unsigned &mask)
Definition: NedReader.cc:431
Definition: NedReader.h:141
Definition: PtSrcReader.h:29
void excludeObjects(std::ostringstream &os, unsigned mask)
Definition: NedReader.cc:379
NedReader()
Definition: NedReader.cc:26
void openCatalogFile()
Definition: NedReader.cc:146