Line data Source code
1 : //# FluxCalcLogFreqPolynomial.tcc 2 : //# Copyright (C) 2010 3 : //# Associated Universities, Inc. Washington DC, USA. 4 : //# 5 : //# This library is free software; you can redistribute it and/or modify 6 : //# it under the terms of the GNU General Public License as published by 7 : //# the Free Software Foundation; either version 2 of the License, or 8 : //# (at your option) any later version. 9 : //# 10 : //# This library is distributed in the hope that it will be useful, 11 : //# but WITHOUT ANY WARRANTY; without even the implied warranty of 12 : //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 : //# GNU General Public License for more details. 14 : //# 15 : //# You should have received a copy of the GNU General Public License 16 : //# along with this library; if not, write to the Free Software 17 : //# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 : //# 19 : //# Correspondence concerning AIPS++ should be addressed as follows: 20 : //# Internet email: aips2-request@nrao.edu. 21 : //# Postal address: AIPS++ Project Office 22 : //# National Radio Astronomy Observatory 23 : //# 520 Edgemont Road 24 : //# Charlottesville, VA 22903-2475 USA 25 : //# 26 : #include <components/ComponentModels/FluxCalcLogFreqPolynomial.h> 27 : #include <casacore/casa/Arrays/Vector.h> 28 : #include <casacore/scimath/Mathematics/RigidVector.h> 29 : 30 : namespace casa { //# NAMESPACE CASA - BEGIN 31 : 32 : template <casacore::Int lford, casacore::Int errord> 33 0 : void FluxCalcLogFreqPolynomial::fill_coeffs(const casacore::RigidVector<casacore::Float, lford>& lfrv, 34 : const casacore::RigidVector<casacore::Float, errord>& errrv) 35 : { 36 0 : coeffs_p(0) = lfrv.vector(); 37 0 : coeffs_p(1) = errrv.vector(); 38 0 : } 39 : 40 : template <casacore::Int lford> 41 10 : void FluxCalcLogFreqPolynomial::fill_coeffs(const casacore::RigidVector<casacore::Float, lford>& lfrv) 42 : { 43 10 : coeffs_p(0) = lfrv.vector(); 44 10 : } 45 : 46 : template <casacore::Int lford1, casacore::Int lford2> 47 0 : void FluxCalcLogFreqBrokenPolynomial::fill_lohi_coeffs(const casacore::RigidVector<casacore::Float, lford1> & lorv, 48 : const casacore::MFrequency& break_freq, 49 : const casacore::RigidVector<casacore::Float, lford2>& hirv) 50 : { 51 0 : low_coeffs_p = lorv.vector(); 52 0 : break_freq_p = break_freq; 53 0 : high_coeffs_p = hirv.vector(); 54 0 : fill_coeffs(low_coeffs_p); 55 0 : in_low_state_p = true; 56 0 : } 57 : 58 : } //# NAMESPACE CASA - END