Source
xxxxxxxxxx
return dynamic_cast<CompiledFunction<Double> *>(SpectralElement::_getFunction().get())->getText();
//# SpectralElement.cc: Describes (a set of related) spectral lines
//# Copyright (C) 2001,2004
//# Associated Universities, Inc. Washington DC, USA.
//#
//# This library is free software; you can redistribute it and/or modify it
//# under the terms of the GNU Library General Public License as published by
//# the Free Software Foundation; either version 2 of the License, or (at your
//# option) any later version.
//#
//# This library is distributed in the hope that it will be useful, but WITHOUT
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
//# License for more details.
//#
//# You should have received a copy of the GNU Library General Public License
//# along with this library; if not, write to the Free Software Foundation,
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
//#
//# Correspondence concerning AIPS++ should be addressed as follows:
//# Internet email: aips2-request@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
//#
using namespace casacore;
namespace casa { //# NAMESPACE CASA - BEGIN
CompiledSpectralElement::CompiledSpectralElement() {}
CompiledSpectralElement::CompiledSpectralElement(
const String& function,
const Vector<Double>& param
) : SpectralElement(SpectralElement::COMPILED, param)/*, _function(function)*/ {
_setFunction(function);
/*
if (! comp->setFunction(_function)) {
throw AipsError(
"CompiledSpectralElement: An illegal functional string "
"was specified for a compiled SpectralElement"
);
}
if(comp->nparameters() != param.size()) {
throw AipsError(
"CompiledSpectralElement: Number of parameters in the "
"compiled function does not match number of input parameters"
);
}
*/
}
CompiledSpectralElement::CompiledSpectralElement(
SpectralElement::Types type, const Vector<Double>& param
) : SpectralElement(type, param)/*, _function("")*/ {}
CompiledSpectralElement::CompiledSpectralElement(
SpectralElement::Types type, uInt nParam
) : SpectralElement(type, Vector<Double>(nParam))/*, _function("")*/ {}
CompiledSpectralElement::CompiledSpectralElement(
const CompiledSpectralElement& other
) : SpectralElement(other)/*, _function(other._function)*/ {}
CompiledSpectralElement::~CompiledSpectralElement() {}
SpectralElement* CompiledSpectralElement::clone() const {
return new CompiledSpectralElement(*this);
}
CompiledSpectralElement& CompiledSpectralElement::operator=(
const CompiledSpectralElement &other
) {
if (this != &other) {
SpectralElement::operator=(other);
//_function = other._function;
}
return *this;
}
/*
Bool CompiledSpectralElement::operator==(
const CompiledSpectralElement& other
) const {