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

◆ test_waveform_normalizer()

void test_waveform_normalizer ( )

Definition at line 223 of file sfftest.cc.

References sff::WaveformNormalizer::limit, sff::NM_ifneeded, sff::NM_one, scale_series(), scaling(), and sff::TraceHeader::scanseries().

Referenced by main().

224 {
225  cout << "test waveform normalizer" << endl
226  << "------------------------" << endl;
227 
228  cout << "limit: " << sff::WaveformNormalizer::limit << " ";
229  cout << "2^23: " << std::pow(2.,23.) << endl;
230 
231  const int msamp=100;
232  Tseries series(msamp);
233  for (int i=series.first(); i<=series.last(); i++)
234  { series(i)=sin(3.1415926*i*5/msamp); }
235 
236  sff::WID2 wid2;
237  sff::TraceHeader hd(wid2);
238  hd.scanseries(series);
239  scaling(hd);
240 
241  scale_series(series, 1.e10);
242  hd.scanseries(series);
243  scaling(hd);
244 
245  scale_series(series, 1.e-4);
246  hd.scanseries(series, sff::NM_ifneeded);
247  scaling(hd);
248 
249  scale_series(series, 1.e4);
250  hd.scanseries(series, sff::NM_ifneeded);
251  scaling(hd);
252 
253  scale_series(series, 1.e-4);
254  hd.scanseries(series, sff::NM_one);
255  scaling(hd);
256 
257 #ifdef ILLEGAL1
258  scale_series(series, 1.e4);
259  hd.scanseries(series, sff::NM_one);
260  scaling(hd);
261 #endif
262 }
static const int limit
the absolute maximum amplitude (one-sided) to which the time series will be normalized.
Definition: sffxx.h:270
SFF trace header elements.
Definition: sffxx.h:282
aff::Series< double > Tseries
Definition: sfftest.cc:206
do not scale
Definition: sffxx.h:115
scale if largest amplitude larger than limit
Definition: sffxx.h:117
Waveform Header.
Definition: sffxx.h:209
void scale_series(Tseries &s, const double &f)
Definition: sfftest.cc:207
void scaling(const sff::TraceHeader &hd)
Definition: sfftest.cc:214
Here is the call graph for this function:
Here is the caller graph for this function: