4 #include <CCfits/CCfits> 5 #include <gsl/gsl_spline.h> 20 using tableType = std::vector<std::pair<double,double>>;
32 constexpr
double m_H = 1.6737237e-24;
45 setKeys(CCfits::ExtHDU &hdu,
const CCfits::PHDU &hdu0);
48 solve(std::vector<mapDataType> &outMap,
49 std::vector<CCfits::ExtHDU *> &outHDU,
50 CCfits::FITS *outFITS,
51 const std::vector<mapDataType> &bandData,
52 const std::vector<mapDataType> &bandError,
53 const std::vector<CCfits::PHDU*> &bandHDU,
57 getBand(
const CCfits::HDU &hdu);
void process(const mutils::CommandLine &cli)
Processes multi-wavelength maps into temperature/column density maps.
void setKeys(CCfits::ExtHDU &hdu, const CCfits::PHDU &hdu0)
Sets header keywords for an output map.
constexpr double h_Planck
Planck's constant (erg*s).
void solve(std::vector< mapDataType > &outMap, std::vector< CCfits::ExtHDU *> &outHDU, CCfits::FITS *outFITS, const std::vector< mapDataType > &bandData, const std::vector< mapDataType > &bandError, const std::vector< CCfits::PHDU *> &bandHDU, const mutils::CommandLine &cli)
Performs least-squares fitting of band SEDs.
gsl_spline * initSpline(const tableType &table, bool ln)
Initializes cubic spline interpolator.
constexpr double k_Boltzman
Planck's constant (erg/K).
Command line options and arguments.
constexpr double m_H
Mass of hygdrogen atom (g).
Declares the CommandLine class.
constexpr double c_light
Speed of light (cm/s).
mapDataType getError(const mapDataType &data, CCfits::PHDU &hdu, const mutils::CommandLine &cli)
Generates image error map.
int getBand(const CCfits::HDU &hdu)
Returns nominal band center (microns) from an HDU.
constexpr long modelMapLen
One-dimensional length of model map image.
std::vector< std::pair< double, double > > tableType
Basic table data.
constexpr int mapDataCode
Output FITS maps data code (cf. mapDataType).
std::valarray< float > mapDataType
Output FITS maps data type (cf. mapDataCode).