SpectralListFactory.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef SPECTRALLISTFACTORY_H_
00027 #define SPECTRALLISTFACTORY_H_
00028
00029 #include <casa/aips.h>
00030 #include <stdcasa/variant.h>
00031
00032 #include <components/SpectralComponents/SpectralList.h>
00033
00034 namespace casa {
00035
00036
00037
00038 class SpectralListFactory {
00039 public:
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 static SpectralList create(
00051 LogIO& log, const casac::variant& pampest,
00052 const casac::variant& pcenterest, const casac::variant& pfwhmest,
00053 const casac::variant& pfix=casac::initialize_variant(""),
00054 const casac::variant& gmncomps=casac::initialize_variant(""),
00055 const casac::variant& gmampcon=casac::initialize_variant(""),
00056 const casac::variant& gmcentercon=casac::initialize_variant(""),
00057 const casac::variant& gmfwhmcon=casac::initialize_variant(""),
00058 const vector<double>& gmampest=vector<double>(0),
00059 const vector<double>& gmcenterest=vector<double>(0),
00060 const vector<double>& gmfwhmest=vector<double>(0),
00061 const casac::variant& gmfix=casac::initialize_variant(""),
00062 const casac::variant& pfunc=casac::initialize_variant(""),
00063 const casac::variant& plpest=casac::initialize_variant(""),
00064 const casac::variant& plpfix=casac::initialize_variant(""),
00065 const casac::variant& ltpest=casac::initialize_variant(""),
00066 const casac::variant& ltpfix=casac::initialize_variant("")
00067
00068 );
00069
00070 private:
00071 static void _addGaussianMultiplets(
00072 SpectralList& spectralList,
00073 LogIO& log,
00074 const vector<int>& mygmncomps,
00075 vector<double>& mygmampcon,
00076 vector<double>& mygmcentercon,
00077 vector<double>& mygmfwhmcon,
00078 const vector<double>& gmampest,
00079 const vector<double>& gmcenterest, const vector<double>& gmfwhmest,
00080 const vector<string>& mygmfix
00081 );
00082
00083 static void _addPowerLogPolynomial(
00084 SpectralList& spectralList,
00085 LogIO& log, vector<double>& myplpest,
00086 vector<bool>& myplpfix
00087 );
00088
00089 static void _addLogTransformedPolynomial(
00090 SpectralList& spectralList,
00091 vector<double>& myltpest,
00092 vector<bool>& myltpfix
00093 );
00094
00095 };
00096
00097 }
00098 #endif