Manticore  Version 1.0
Physics of Molecular Clouds
manticore.h
Go to the documentation of this file.
1 #ifndef MANTICORE_H
2 #define MANTICORE_H
3 
4 #include <CCfits/CCfits>
5 #include <gsl/gsl_spline.h>
6 #include <mutils/CommandLine.h>
7 
8 namespace manticore {
9 
11 using mapDataType = std::valarray<float>;
12 
14 constexpr int mapDataCode = FLOAT_IMG;
15 
17 using tableType = std::vector<std::pair<double,double>>;
18 
20 constexpr double c_light = 2.99792458e10;
21 
23 constexpr double h_Planck = 6.626070040e-27;
24 
26 constexpr double k_Boltzman = 1.38064852e-16;
27 
29 constexpr double m_H = 1.6737237e-24;
30 
31 extern mapDataType
32  getError(const mapDataType &data, CCfits::PHDU &hdu,
33  const mutils::CommandLine &cli);
34 
35 extern gsl_spline
36  *initSpline(const tableType &table, bool ln = false);
37 
38 extern void
39  process(const mutils::CommandLine &cli);
40 
41 extern void
42  setKeys(CCfits::ExtHDU &hdu, const CCfits::PHDU &hdu0);
43 
44 extern void
45  solve(std::vector<mapDataType> &outMap,
46  std::vector<CCfits::ExtHDU *> &outHDU,
47  CCfits::FITS *outFITS,
48  const std::vector<mapDataType> &bandData,
49  const std::vector<mapDataType> &bandError,
50  const std::vector<CCfits::PHDU*> &bandHDU,
51  const mutils::CommandLine &cli);
52 
53 } // namespace manticore
54 
55 #endif // MANTICORE_H
void process(const mutils::CommandLine &cli)
Processes multi-wavelength maps into temperature/column density maps.
Definition: process.cc:84
void setKeys(CCfits::ExtHDU &hdu, const CCfits::PHDU &hdu0)
Sets header keywords for an output map.
Definition: process.cc:195
constexpr double h_Planck
Planck&#39;s constant (erg*s).
Definition: manticore.h:23
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.
Definition: solve.cc:286
gsl_spline * initSpline(const tableType &table, bool ln)
Initializes cubic spline interpolator.
Definition: manticore.cc:74
constexpr double k_Boltzman
Planck&#39;s constant (erg/K).
Definition: manticore.h:26
Command line options and arguments.
Definition: CommandLine.h:47
Package namespace.
Definition: Detector.cc:13
constexpr double m_H
Mass of hygdrogen atom (g).
Definition: manticore.h:29
Declares the CommandLine class.
constexpr double c_light
Speed of light (cm/s).
Definition: manticore.h:20
mapDataType getError(const mapDataType &data, CCfits::PHDU &hdu, const mutils::CommandLine &cli)
Generates image error map.
Definition: process.cc:30
std::vector< std::pair< double, double > > tableType
Basic table data.
Definition: manticore.h:17
constexpr int mapDataCode
Output FITS maps data code (cf. mapDataType).
Definition: manticore.h:14
std::valarray< float > mapDataType
Output FITS maps data type (cf. mapDataCode).
Definition: manticore.h:11