DATRW++ library: seismic data I/O with multiple formats

◆ dump() [14/15]

void datrw::mseed::SEED::dump ( Steim2Frame  f,
std::ostream &  os 
)

Definition at line 395 of file seedstructdump.cc.

References datrw::mseed::SEED::Steim1Word::byte, datrw::mseed::SEED::SteimFrame::control(), datrw::mseed::SEED::SteimFrame::ctrl(), datrw::mseed::SEED::Steim2Word::dnib(), datrw::mseed::SEED::SteimFrame::Fbyte, datrw::mseed::SEED::SteimFrame::Fdnib1, datrw::mseed::SEED::SteimFrame::Fdnib2, datrw::mseed::SEED::SteimFrame::Fspecial, datrw::mseed::SEED::Steim1Word::fw, datrw::mseed::SEED::Steim2Word::nval(), datrw::mseed::SEED::SteimFrame::nwords, datrw::mseed::SEED::Steim2Word::value(), and datrw::mseed::SEED::SteimFrame::word().

396  {
397  os << "Steim 2 Frame:" << std::endl;
398  os << " control word: 0x";
399  std::ostream::fmtflags flags=os.flags();
400  os.setf(std::ios_base::hex, std::ios_base::basefield);
401  // os.setf(std::ios_base::showbase);
402  os.width(8);
403  os.fill('0');
404  os << f.control();
405  os.flags(flags);
406  os << std::endl;
407  /*
408  for (int i=0; i<Steim1Frame::nelements; ++i)
409  {
410  os << " ctrl #";
411  os.width(2);
412  os.fill('0');
413  os << i << ": " << f.ctrl(i) << std::endl;
414  }
415  */
416  os << " data: " << std::endl;
417  for (int i=0; i<Steim2Frame::nwords; ++i)
418  {
419  Steim1Word w;
420  w.fw=f.word(i);
421  switch (f.ctrl(i)) {
422  case Steim2Frame::Fspecial:
423  os << " #";
424  os.width(2);
425  os.fill('0');
426  os << i << " special (" << f.ctrl(i) << "): "
427  << w.fw << std::endl;
428  break;
429  case Steim2Frame::Fbyte:
430  for (int j=0; j<4; ++j)
431  {
432  os << " #";
433  os.width(2);
434  os.fill('0');
435  os << i << " byte (" << f.ctrl(i) << ") #" << j << ": "
436  << int(w.byte[j]) << std::endl;
437  }
438  break;
439  case Steim1Frame::Fdnib1:
440  case Steim1Frame::Fdnib2:
441  Steim2Word word(Steim2Word::ESteim2Control(f.ctrl(i)), w.fw);
442  for (int j=0; j<word.nval(); ++j)
443  {
444  os << " #";
445  os.width(2);
446  os.fill('0');
447  os << i;
448  os << " c=";
449  os.width(2);
450  os.fill(' ');
451  os << f.ctrl(i);
452  os << " dnib=";
453  os.width(2);
454  os.fill(' ');
455  os << word.dnib();
456  os << " #" << j << ": "
457  << word.value(j) << std::endl;
458  }
459  break;
460  }
461  }
462  } // void dump(Steim2Frame f, std::ostream& os)
Here is the call graph for this function: