void Pulsar::WAPPArchive::load_extensions() { // Telescope extension Telescope *t = getadd<Telescope>(); Telescopes::Arecibo(t); // Backend extension Backend *b = getadd<Backend>(); b->set_name("WAPP"); // ObsExtension ObsExtension *o = getadd<ObsExtension>(); o->observer = hdr->observers; o->project_ID = hdr->project_id; // Receiver Receiver *r = getadd<Receiver>(); // Use codes to init recvr string rcode = hdr->frontend; if (rcode=="lbw") Arecibo::L_wide(r); else if (rcode=="sbw") Arecibo::S_wide(r); else if (rcode=="430") Arecibo::Greg_430(r); else if (rcode=="327") Arecibo::Greg_327(r); else if (rcode=="cb") Arecibo::C_band(r); else r->set_name(rcode); // TODO : figure out hybrid field in hdr // FITSUBHdr FITSSUBHdrExtension *fs = getadd<FITSSUBHdrExtension>(); fs->set_tsamp(hdr->samp_time*1e-6); }
void Pulsar::TimerArchive::unpack_extensions () try { if (verbose == 3) cerr << "Pulsar::TimerArchive::unpack_extensions" << endl; Receiver* receiver = getadd<Receiver>(); unpack (receiver); Telescope* telescope = getadd<Telescope>(); try { telescope->set_coordinates (get_telescope()); Telescopes::set_telescope_info (telescope, this); } catch (Error& error) { if (verbose > 2) warning << "Pulsar::TimerArchive::unpack_extensions " << error.get_message().c_str() << endl; } TapeInfo* tape = getadd<TapeInfo>(); unpack (tape); if (verbose == 3) cerr << "Pulsar::TimerArchive::unpack_extensions set Backend" << endl; Backend* backend = get<Backend>(); if (!backend) { Backend* ben = getadd<Backend>(); ben->set_name (hdr.machine_id); ben->set_corrected (hdr.corrected & BE_PHS_CORRECTED); ben->set_downconversion_corrected (hdr.corrected & BE_DCC_CORRECTED); backend = ben; } if (verbose == 3) cerr << "Pulsar::TimerArchive::unpack_extensions " << backend->get_extension_name() << " name=" << backend->get_name() << endl; } catch (Error& error) { throw error += "Pulsar::TimerArchive::unpack_extensions"; }