//-------------------------------------------------------------------------- // File and Version Information: // $Id: squarefilt.cc,v 1.8 2004-09-10 09:54:40 cmv Exp $ // // Description: // // History (add to end): // Sophie Oct, 1999 - creation // //------------------------------------------------------------------------ //--------------- // C++ Headers -- //--------------- #include "sopnamsp.h" #include "machdefs.h" #include #include "squarefilt.h" /*! * \class SOPHYA::SquareFilter \ingroup SkyT * Square detector response */ //---------------- // Constructor -- //---------------- SquareFilter::SquareFilter() : SpectralResponse() { } SquareFilter::SquareFilter(double numin, double numax) : SpectralResponse(numin, numax) { _nuPeak = (numin+numax)/2.; _peakTransmission = transmission(_nuPeak); } //-------------- // Destructor -- //-------------- SquareFilter::~SquareFilter() { } // --------------------------- // -- Function Definitions -- // --------------------------- /*! The transmission returns 1. for frequencies in the [numin,numax] range and 0. outside */ double SquareFilter::transmission(double nu) const { if(nu < -1.e99) nu = -1.e99; if(nu > 1.e99) nu = 1.e99; if(nu>=_numin && nu<=_numax) return 1.; return 0.; } double SquareFilter::peakFreq() const { return _nuPeak; } double SquareFilter::peakTransmission() const { return _peakTransmission; } /* void SquareFilter::WriteSelf(POutPersist& s) { s.PutR8(this->minFreq()); s.PutR8(this->maxFreq()); } void SquareFilter::ReadSelf(PInPersist& s) { double minFreq, maxFreq; s.GetR8(_numin); s.GetR8(_numax); cout << "minFreq - maxFreq " << _numin << "-" << _numax << endl; } */