4 #include <gsl/gsl_spline.h> 91 virtual double response(
double nu, gsl_interp_accel *acc =
nullptr)
const;
97 virtual double ccf(
const Graybody &gray,
double T,
double Sigma = 1.0)
const;
std::pair< double, double > freqRange_
Response edge frequencies (Hz).
double center_
Effective band center (Hz).
virtual void init()
Initializes detector characteristics.
virtual std::pair< double, double > sysError() const noexcept
Systematic calibration error (correlated, uncorrelated) between bands.
virtual double freqBand() const noexcept
Reference band center frequency (Hz).
virtual double freqWidth() const noexcept
Effective flux-conversion bandwidth (Hz).
virtual std::string name() const =0
Official detector name (INSTRUMENT-BAND).
virtual double ccf(const Graybody &gray, double T, double Sigma=1.0) const
Color correction factor.
The MathUtils miscellaneous utilities library.
virtual std::pair< double, double > freqRange() const noexcept
Frequency range containing significant response.
virtual double response(double nu, gsl_interp_accel *acc=nullptr) const
Absolute spectral response function.
bool extend_
Default to extended (else point) source observation.
virtual ~Detector()
Destructor.
double width_
Effective (flux) bandwidth (Hz).
gsl_spline * spline_
Response interpolator.
bool isExtended() const noexcept
Whether extended source detection is enabled.
std::pair< double, double > sysError_
Relative systematic errors (global/instrument, detector/band).
Detector(bool extend=true) noexcept
Default constructor.
tableType resp_
Spectral response table.
void calcWidth()
Calculates effective bandwidth using standard prescription.