My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
NvssReader.h
Go to the documentation of this file.
1 // $Id: NvssReader.h,v 1.1.1.1 2009/07/06 23:57:26 eml Exp $
2 
3 #ifndef GCP_UTIL_NVSSREADER_H
4 #define GCP_UTIL_NVSSREADER_H
5 
15 #include "gcp/util/common/PtSrcFitsReader.h"
16 
17 #include "gcp/cfitsio/common/fitsio.h"
18 
19 namespace gcp {
20  namespace util {
21 
22  class NvssReader : public PtSrcFitsReader {
23  public:
24 
28  NvssReader(std::string catalogFile);
29  NvssReader();
30 
34  virtual ~NvssReader();
35 
36  private:
37 
38  static Angle vlaLat_;
39  static Angle raBias_;
40  static Angle decBias_;
41  static Flux dBiasAv_;
42  static Flux dBiasErr_;
43  static Flux dncBiasAv_;
44  static Flux dncBiasErr_;
45  static Angle calRaErr_;
46  static Angle calDecErr_;
47  static double calAmpErr_;
48 
49  public:
50 
51  //------------------------------------------------------------
52  // Beam functions
53  //------------------------------------------------------------
54 
55  // NVSS point-spread function calculation
56 
58 
59  // Set the error in the fitted major axis size
60 
62 
63  // Set the error in the fitted minor axis size
64 
66 
67  // Set the error in the fitted minor axis size
68 
70 
71  //------------------------------------------------------------
72  // Positional routines
73  //------------------------------------------------------------
74 
75  // Correct fitted positions for NVSS position bias
76 
78 
79  // Set the error in the fitted RA
80 
82 
83  // Generic function, not just specific to NVSS
84 
85  static void setGenericPositionErrors(PtSrcReader::Source& src, Angle& calRaErr, Angle& calDecErr);
86 
87  //------------------------------------------------------------
88  // Peak flux routines
89  //------------------------------------------------------------
90 
91  // Correct a fitted flux for confusion bias
92 
94 
95  // Set the error in the fitted peak flux value
96 
98 
99 
100  //------------------------------------------------------------
101  // Integrated flux routines
102  //------------------------------------------------------------
103 
104  // Calculate the integrated flux and error
105 
107 
108  // Set the integrated flux and error for an unresolved source
109 
111 
112  // Set the error in the integrated flux for an unresolved source
113  // (see catalog.ps, section 6.6)
114 
116 
117 
118  // Set the integrated flux and error for an unresolved source
119 
121 
122  // Set the error in the integrated flux for an unresolved source
123 
125 
126  // Set the integrated flux and error for a partially resolved
127  // source
128 
130 
131  // Set the error in the integrated flux for a partially-resolved source
132 
133  void setPartiallyResolvedIntegratedFluxError(PtSrcReader::Source& src, double pseudoPeakJy);
134 
135  //------------------------------------------------------------
136  // Utility functions
137  //------------------------------------------------------------
138 
139  // Calculate the effective SNR in a given parameter
140 
141  static double effSnr2(PtSrcReader::Source& src,
142  double alphaMajor, double alphaMinor);
143 
144  // Return the appropriate bias error for D or DnC configuration
145 
146  double getBiasErrInJy(PtSrcReader::Source& src);
147 
148  // NVSS main correction functions (translated from NVSSlist.f)
149 
151 
152  // Deconvolve the calculated point-source response from the
153  // fitted parameters
154 
155  void deconvolve(PtSrcReader::Source& src);
156 
157  //------------------------------------------------------------
158  // Overloaded base-class methods
159 
161 
162  void readFitsData(long startRow, long nElement);
163 
164  }; // End class NvssReader
165 
166  } // End namespace util
167 } // End namespace gcp
168 
169 
170 
171 #endif // End #ifndef GCP_UTIL_NVSSREADER_H
Definition: NvssReader.h:22
virtual ~NvssReader()
Definition: NvssReader.cc:69
PtSrcReader::Source parseData()
Definition: NvssReader.cc:74
void setIntegratedFlux(PtSrcReader::Source &src)
Definition: NvssReader.cc:895
void setResolvedIntegratedFluxError(PtSrcReader::Source &src)
Definition: NvssReader.cc:1011
void readFitsData(long startRow, long nElement)
Definition: NvssReader.cc:136
void setUnresolvedIntegratedFluxError(PtSrcReader::Source &src)
Definition: NvssReader.cc:958
void correctForConfusionBias(PtSrcReader::Source &src)
Definition: NvssReader.cc:173
static double effSnr2(PtSrcReader::Source &src, double alphaMajor, double alphaMinor)
Definition: NvssReader.cc:199
void correctForPositionBias(PtSrcReader::Source &src)
Definition: NvssReader.cc:521
Definition: Flux.h:25
void applyCorrections(PtSrcReader::Source &src)
Definition: NvssReader.cc:390
Definition: Angle.h:20
void deconvolve(PtSrcReader::Source &src)
Definition: NvssReader.cc:568
void setNvssPsFn(PtSrcReader::Source &src)
Definition: NvssReader.cc:437
void setResolvedIntegratedFlux(PtSrcReader::Source &src)
Definition: NvssReader.cc:984
void setMinAxisError(PtSrcReader::Source &src)
Definition: NvssReader.cc:262
Definition: PtSrcReader.h:35
double getBiasErrInJy(PtSrcReader::Source &src)
Definition: NvssReader.cc:1117
void setPositionAngleError(PtSrcReader::Source &src)
Definition: NvssReader.cc:278
void setPartiallyResolvedIntegratedFlux(PtSrcReader::Source &src)
Definition: NvssReader.cc:1052
void setMajAxisError(PtSrcReader::Source &src)
Definition: NvssReader.cc:246
void setUnresolvedIntegratedFlux(PtSrcReader::Source &src)
Definition: NvssReader.cc:934
void setPeakError(PtSrcReader::Source &src)
Definition: NvssReader.cc:227
void setPositionErrors(PtSrcReader::Source &src)
Definition: NvssReader.cc:313
Definition: PtSrcFitsReader.h:22
NvssReader()
Definition: NvssReader.cc:58
static void setGenericPositionErrors(PtSrcReader::Source &src, Angle &calRaErr, Angle &calDecErr)
Definition: NvssReader.cc:349
void setPartiallyResolvedIntegratedFluxError(PtSrcReader::Source &src, double pseudoPeakJy)
Definition: NvssReader.cc:1083