All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
ArrayCore::SPACStationSignals Class Reference

#include <SPACStationSignals.h>

Inheritance diagram for ArrayCore::SPACStationSignals:
GeopsyCore::StationProcessSignals

List of all members.

Public Member Functions

virtual void setProcessed (const TimeRange &tw, AbstractParameters *param)
 SPACStationSignals (const StationSignals *originalSignals)
double verticalPower () const

Constructor & Destructor Documentation

  : StationProcessSignals(originalSignals)
{
  _verticalPower=0.0;
}

Member Function Documentation

void ArrayCore::SPACStationSignals::setProcessed ( const TimeRange tw,
AbstractParameters param 
) [virtual]

Cut and filter time window at frequency f for all components

Implements GeopsyCore::StationProcessSignals.

References GeopsyCore::FilterParameters::convolutionWindow(), GeopsyCore::StationProcessSignals::copyOriginalSignal(), GeopsyCore::DoubleSignal::filter(), ArrayCore::ArrayProcess::frequency(), ArrayCore::FrequencyBand::highLimit(), ArrayCore::FrequencyBand::lowLimit(), GeopsyCore::StationProcessSignals::nComponents(), GeopsyCore::StationProcessSignals::processed(), GeopsyCore::TaperParameters::setAlpha(), GeopsyCore::FilterParameters::setBand(), GeopsyCore::FilterParameters::setMaximumFrequency(), GeopsyCore::FilterParameters::setMethod(), GeopsyCore::FilterParameters::setMinimumFrequency(), GeopsyCore::TaperParameters::setWindow(), GeopsyCore::DoubleSignal::subtractValue(), and GeopsyCore::DoubleSignal::taper().

{
  ArrayProcess& arrayParam=*static_cast<ArrayProcess *>(param);
  int nComp=nComponents();
  for(int iComp=0; iComp < nComp; iComp++) {
    copyOriginalSignal(iComp, tw);
    DoubleSignal& s=*processed(iComp);
    // Remove offset for this window
    s.subtractValue();
    // Set a 10% taper in time domain
    TaperParameters param;
    param.setWindow(TaperParameters::Tukey);
    param.setAlpha(0.2);
    s.taper(param);
    // Filter at frequency f with a band width of 10%
    FilterParameters fparam;
    fparam.setMinimumFrequency(arrayParam.frequency().lowLimit());
    fparam.setMaximumFrequency(arrayParam.frequency().highLimit());
    fparam.setMethod(FilterParameters::Convolution);
    fparam.setBand(FilterParameters::BandPass);
    fparam.convolutionWindow().setWindow(TaperParameters::Tukey);
    fparam.convolutionWindow().setAlpha(0.2);
    s.filter(fparam);
    // TODO: process in frequency domain
    // For vertical spac only
  }
  setVerticalPower();
}
{return _verticalPower;}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines