SFF++ library: reading and writing SFF from C++

◆ test_skip_trace()

void test_skip_trace ( )

Definition at line 366 of file sfftest.cc.

References sff::InputWaveform< C >::header(), sff::SkipWaveform::header(), sff::InputWaveform< C >::last(), sff::SkipWaveform::last(), sff::WID2::line(), sff::NM_maxdyn, sff::NM_one, sff::InputWaveform< C >::series(), and sff::TraceHeader::wid2().

Referenced by main().

367 {
368  char outfile[]="junk3.sff";
369  cout << "test kipping every second trace" << endl
370  << "-------------------------------" << endl;
371 
372  cout << "enter name of input file: ";
373  std::string infile;
374  std::cin >> infile;
375 
376  std::ifstream is(infile.c_str());
377  sff::FileHeader fhd(is);
378 
379  std::ofstream os(outfile);
380  os << fhd;
381 
382  if (fhd.hassrce())
383  {
384  cout << "SRCEtime: " << fhd.srce().date.timestring() << endl;
385  }
386 
387  bool last=false;
388  while (!last)
389  {
390  sff::SkipWaveform swf(is);
391  cout << swf.header().wid2().line() << endl;
392  last=swf.last();
393  if (!last)
394  {
396  last=iwf.last();
397  os << sff::OutputWaveform<Tseries>(iwf.series(),
398  iwf.header(),
400  }
401  else
402  {
403  Tseries dummy(5);
404  dummy=0.;
405  sff::TraceHeader ihd(swf.header());
406  sff::TraceHeader ohd(ihd.wid2(),true);
407  os << sff::OutputWaveform<Tseries>(dummy, ohd, sff::NM_one);
408  }
409  }
410  cout << "you will find the data in " << outfile << endl;
411 }
SFF trace header elements.
Definition: sffxx.h:282
aff::Series< double > Tseries
Definition: sfftest.cc:206
do not scale
Definition: sffxx.h:115
scale for maximum dynamic range
Definition: sffxx.h:116
SFF file header elements.
Definition: sffxx.h:232
Here is the call graph for this function:
Here is the caller graph for this function: