11 #ifndef CARMA_SERVICES_SOURCECHECKER_H
12 #define CARMA_SERVICES_SOURCECHECKER_H
18 #include "carma/services/TelescopeStatus.h"
60 const std::string& catalog=
"");
344 double timeToTrack );
353 services::NeighborSet
354 getNearest( const ::std::set< ::std::string > & sourceList,
356 unsigned short numReturn,
bool ignoreNorthSouth,
396 Angle* elevUpperLimit_;
398 Angle azPositiveWrapLimit_;
400 Angle azNegativeWrapLimit_;
402 double azPositiveWrapLimitLst_;
442 std::string header(
Source source );
449 double hourAngleAtElevLimit();
456 double hourAngleAtElevUpperLimit();
464 double hourAngleAtElevation(
Angle * elev );
470 void computeTelescopeStatus();
473 static const double NEVER_SETS;
475 static const double NEVER_RISES;
478 static const std::string NEVER_RISES_STR;
479 static const std::string NEVER_SETS_STR;
480 static const std::string UNSUPPORTED_COORDSYS_STR;
483 static const int SOURCE_WIDTH = 10;
484 static const int ANGLE_WIDTH = 13;
485 static const int TEXT_WIDTH = 10;
486 static const int TIME_WIDTH = 12;
487 static const int DOPPLER_WIDTH= 8;
495 #endif // CARMA_SERVICES_SOURCECHECKER_H
void setAzNegativeWrapLimit(const Angle &azimuth)
Set the azimuth limit on the negative wrap.
Angle getElevLimit() const
Get the current elevation limit for source rise and set times.
Data on nearest neighbor to a source.
enum carma::services::AzWrapTypeEnum AzWrapType
mirror drive mode wrap types
void setMJD(double mjd=carma::util::Time::MJD())
Set the MJD for subsequent queries.
SourceChecker()
Default Constructor.
void showHeader(bool showit)
Call to toggle whether or not the info() command prints out the column headers.
Source is derived from CatalogEntry and is used to hold information for a particular entry from a sou...
double minutesUntilAzLimit()
void setElevUpperLimit(double elevDegrees)
Set the upper elevation limit for azimuth wrap calculation If the limit is less than zero...
double minutesUntilAzWrapLimit()
bool slewWouldCrossNorthSouthBoundary(const Source &neighborSource)
Various type definitions for services classes.
This class implements various astronomical time computation routines.
Angle getAzPositiveWrapLimit() const
The Velocity class can represent an velocity in any units.
enum carma::services::sourcePntEnum sourcePntType
Can this source be used for RADIO and/or OPTICAL pointing?
Nearby neighbor source data structure definition.
services::NeighborSet getNearest(const ::std::set< ::std::string > &sourceList, bool include, unsigned short numReturn, bool ignoreNorthSouth, coordSysType coordSys, sourcePntType pType, float fluxLimit)
Must be called after setSource, set elev limits, setFrequency, and setMJD.
void setLocation(const Location &location)
Set the location for source checking.
Ephemeris wraps the NOVAS library and any other ephemeris related functions into a simple to use clas...
Astronomical Time routines.
services::Neighbor createNeighbor(const Source &neighborSource, const coordSysType coordSys, Ephemeris &localEphemeris)
Make a Neighbor object using the current object in this SourceChecker instance as the reference and t...
double minutesUntilBlind()
void useJ2000(bool j2000)
Use J2000 in when printing RA/DEC coordinates.
Location specifies a location (observatory if you wish) on planet earth, as longitude, latitude, and altitude above sea-level.
AntennaType
Enumeration of possible types for antennas.
carma::services::Angle getElevation()
void useSexagesimal(bool sexa)
Use sexagesimal in when printing angular data.
The Angle class can represent any angle in any units.
void setFrequency(double frequency)
Set the frequency for the observation.
Angle getElevUpperLimit() const
Angle getAzNegativeWrapLimit() const
virtual ~SourceChecker()
Destructor.
enum carma::services::coordSysEnum coordSysType
The coordinate systems.
double minutesUntilTransit()
TelescopeStatus getTelescopeStatus()
services::AzWrapType computeOptimumWrapValue(services::AntennaType antType, double antAzDegrees, double timeToTrack)
void setElevLimit(double elevDegrees)
Set the elevation lower limit for source rise and set times.
Holds information about the telescope status with respect to azimuth wrap and upper elevation limits...
double minutesSinceRise()
Representation of Velocity in any units.
Source checker returns info on the location in the sky of a source at a given time, e.g.
double minutesUntilRise()
void setSource(const Source &source)
Set the source to check.
Declaration of carma::services::Ephemeris.
carma::services::Angle getAzimuth()
static double MJD()
Get current MJD.
void setAzPositiveWrapLimit(const Angle &azimuth)
Set the azimuth limit on the positive wrap.
This class is based on the GNU units library.
bool canBeTrackedOnNegativeWrap()
If the source azimuth can be represented by a value between negative wrap limit and zero...