casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PolynomialSpectralElement.h
Go to the documentation of this file.
1 //# SpectralElement.h: Describes (a set of related) spectral lines
2 //# Copyright (C) 2001,2003,2004
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts 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 //#
27 //# $Id: SpectralElement.h 20652 2009-07-06 05:04:32Z Malte.Marquarding $
28 
29 #ifndef COMPONENTS_POLYNOMIALSPECTRALELEMENT_H
30 #define COMPONENTS_POLYNOMIALSPECTRALELEMENT_H
31 
33 
34 namespace casa { //# NAMESPACE CASA - BEGIN
35 
36 // <summary>
37 // Describes a polynomial spectral profile
38 // </summary>
39 
40 // <use visibility=export>
41 
42 // <reviewed reviewer="" date="yyyy/mm/dd" tests="tSpectralFit" demos="">
43 // </reviewed>
44 
45 // <prerequisite>
46 // <li> <linkto module=SpectralElement>SpectralElement</linkto> module
47 // </prerequisite>
48 //
49 // <etymology>
50 // From polynomial and spectral line and element
51 // </etymology>
52 //
53 // <synopsis>
54 // The PolynomialSpectralElement class describes a polynomial spectral profile.
55 
56 // </synopsis>
57 //
58 // <example>
59 // </example>
60 //
61 // <motivation>
62 // To have a container for data describing a polynomial spectral profile for fitting to an observed spectrum
63 // </motivation>
64 
65 
67 public:
68 
69  // Useless constructor for anythong but allocating memory in a casacore::Vector etc
71 
72 
73  // Construct an n-degree polynomial
74  explicit PolynomialSpectralElement(const casacore::uInt n);
75 
76  // Construct the given tp with the given param
77  // <thrown>
78  // <li> casacore::AipsError if incorrect number of parameters (e.g. not 3 for GAUSSIAN)
79  // <li> casacore::AipsError if sigma == 0.0
80  // </thrown>
82  // Copy constructor (deep copy)
83  // <thrown>
84  // <li> casacore::AipsError if sigma == 0.0
85  // </thrown>
87 
89 
90  SpectralElement* clone() const;
91 
92  // Get the degree of polynomial
93  casacore::uInt getDegree() const;
94 
95 };
96 
97 //# Global functions
98 // <summary> Global functions </summary>
99 // <group name=Output>
100 // Output declaration
101 std::ostream &operator<<(std::ostream &os, const PolynomialSpectralElement &elem);
102 // </group>
103 
104 
105 } //# NAMESPACE CASA - END
106 
107 #endif
108 
SpectralElement * clone() const
ostream & operator<<(ostream &os, const PageHeaderCache &cache)
Describes a polynomial spectral profile.
PolynomialSpectralElement()
Useless constructor for anythong but allocating memory in a casacore::Vector etc. ...
Describes (a set of related) spectral lines.
casacore::uInt getDegree() const
Get the degree of polynomial.
unsigned int uInt
Definition: aipstype.h:51