#include #include #include #include #include "sopnamsp.h" #include "histinit.h" #include "datatable.h" #include "fitshdtable.h" void test_fdtable() ; int main(int narg, char *arg[]) { SophyaInit(); try { test_fdtable(); } catch(PThrowable exc ) { cerr << "tnt-main() , Catched exception: \n" << exc.Msg() << endl; } catch(std::exception ex) { cerr << "tnt-main() , Catched exception ! " << (string)(ex.what()) << endl; } catch(...) { cerr << "tnt-main() , Catched ... ! " << endl; } } void test_fdtable() { int NL = 600; cout << "======= test_fdtable: simple DataTable+FITS test ======= " << endl; { cout << "1/ Creating DataTable / Writing to FITS " << endl; DataTable dt(64); dt.AddIntegerColumn("line"); dt.AddDoubleColumn("x"); dt.AddFloatColumn("f_sin"); dt.AddDoubleColumn("f_x2"); dt.AddStringColumn("str_line"); dt.AddComplexColumn("cmplx_cos_sin"); MuTyV rec[10]; char sbuff[32]; cout << " Filling ... (NLines=" << NL << ")" << endl; for(int k = 0; k(cx, sx); dt.AddLine(rec); } cout << dt; cout << " Writing dt to fits file dtable.fits ... " << endl; FitsInOutFile fios("!dtable.fits", FitsInOutFile::Fits_Create); fios << dt; cout << " Writing dt to fits as ASCII table with extname= ASC_DTable ... " << endl; fios.SetDef_AscTable(); fios.SetNextExtensionName("ASC_DTable"); fios << dt; } { cout << "2/ Reading DataTable from FITS " << endl; FitsInOutFile fios("dtable.fits", FitsInOutFile::Fits_RO); cout << fios ; fios.MoveToNextHDU(); DataTable dtr; fios >> dtr; cout << dtr; cout << "2.b/ dtr.LineHeaderToString() dtr.LineToString(k) : " << endl; cout << dtr.LineHeaderToString() << endl; for(int k = 0; k> dtra; cout << dtra; cout << dtra.LineHeaderToString() << endl; for(int k = 0; k