source: trunk/external-alma/components/SpectralComponents/SpectralElementFactory.h @ 2980

Last change on this file since 2980 was 2980, checked in by Malte Marquarding, 10 years ago

Add a copy of casacore/components/SpectralComponents to external-alma directory to prepare for its removal from casacore-trunk. DOn;t activate in SConscript yet.

File size: 2.5 KB
Line 
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
28#ifndef COMPONENTS_SPECTRALELEMENTFACTORY_H
29#define COMPONENTS_SPECTRALELEMENTFACTORY_H
30
31//# Includes
32#include <casa/Arrays/ArrayMath.h>
33#include <casa/Containers/RecordInterface.h>
34#include <components/SpectralComponents/SpectralElement.h>
35
36namespace casa { //# NAMESPACE CASA - BEGIN
37
38// FIXME fix documentation
39
40// <summary>
41// Class for creating spectral elements
42// </summary>
43
44// <use visibility=export>
45
46// <reviewed reviewer="" date="yyyy/mm/dd" tests="tSpectralFit" demos="">
47// </reviewed>
48
49// <prerequisite>
50//   <li> <linkto module=Functionals>SpectralElement</linkto> module
51// </prerequisite>
52//
53// <etymology>
54// From spectral and element and factory. As in to manufacture a SpectralElement
55// </etymology>
56//
57// <synopsis>
58// SpectralElementFactory contains methods for creating SpectralElements.
59// </synopsis>
60//
61// <example>
62// </example>
63//
64// <motivation>
65// To have a factory class for producing types of SpectralElements.
66// </motivation>
67//
68class SpectralElementFactory {
69public:
70
71        // Construct from record.  Must hold fields "type" (String) and
72        // "parameters" (Vector<Double>).  For type=GAUSSIAN, parameters
73        // holds amplitude, center and sigma. For type=POLYNOMIAL,
74        // parameters(0) holds the degree.
75        static SpectralElement* fromRecord(
76                const RecordInterface &container
77        );
78
79};
80
81} //# NAMESPACE CASA - END
82
83#endif
Note: See TracBrowser for help on using the repository browser.