42 "wrong number of spectra");
44 arr<double> tt(lmax+1,0),gg(lmax+1,0),cc(lmax+1,0),tg(lmax+1,0),
45 tc(lmax+1,0),gc(lmax+1,0);
49 cerr <<
"warning: lmax in file smaller than expected; padding with 0." 51 int lmax_read = min (lmax,lmax_file);
65 if (nspecs==1) powspec.
Set(tt);
66 if (nspecs==4) powspec.
Set(tt,gg,cc,tg);
67 if (nspecs==6) powspec.
Set(tt,gg,cc,tg,tc,gc);
78 int nspecs,
int lmax,
int hdunum)
88 int nspecs,
int lmax,
int hdunum)
96 const PowSpec &powspec,
int nspecs)
99 "incorrect number of spectra");
100 vector<fitscolumn> cols;
101 cols.push_back(
fitscolumn(
"Temperature C_l",
"unknown",1,PLANCK_FLOAT64));
104 cols.push_back(
fitscolumn(
"E-mode C_l",
"unknown",1,PLANCK_FLOAT64));
105 cols.push_back(
fitscolumn(
"B-mode C_l",
"unknown",1,PLANCK_FLOAT64));
106 cols.push_back(
fitscolumn(
"T-E cross-corr.",
"unknown",1,
111 cols.push_back(
fitscolumn(
"T-B cross-corr.",
"unknown",1,PLANCK_FLOAT64));
112 cols.push_back(
fitscolumn(
"E-B cross-corr.",
"unknown",1,PLANCK_FLOAT64));
130 const PowSpec &powspec,
int nspecs)
void Set(int nspec, int lmax)
void create(const std::string &fname)
T1 safe_cast(const T2 &arg)
int64 nelems(int i) const
const arr< double > & gg() const
const arr< double > & tc() const
void open(const std::string &fname)
const arr< double > & tt() const
void insert_bintab(const std::vector< fitscolumn > &cols, const std::string &extname="xtension")
void read_column_raw(int colnum, T *data, int64 num, int64 offset=0) const
const arr< double > & tg() const
void write_column(int colnum, const arr< T > &data, int64 offset=0)
const arr< double > & cc() const
void read_powspec_from_fits(fitshandle &inp, PowSpec &powspec, int nspecs, int lmax)
const arr< double > & gc() const
#define planck_assert(testval, msg)
void write_powspec_to_fits(fitshandle &out, const PowSpec &powspec, int nspecs)