edu.sc.seis.fissuresUtil.bag
Class Cut

java.lang.Object
  extended by edu.sc.seis.fissuresUtil.bag.Cut
All Implemented Interfaces:
LocalSeismogramFunction

public class Cut
extends java.lang.Object
implements LocalSeismogramFunction

Cuts seismograms based on a begin and end time. Created: Tue Oct 1 21:23:44 2002


Field Summary
static edu.iris.Fissures.model.UnitImpl SEC_PER_SEC
           
 
Constructor Summary
Cut(edu.iris.Fissures.model.MicroSecondDate begin, edu.iris.Fissures.model.MicroSecondDate end)
           
Cut(edu.iris.Fissures.IfSeismogramDC.RequestFilter request)
           
 
Method Summary
 edu.iris.Fissures.seismogramDC.LocalSeismogramImpl apply(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
           
 edu.iris.Fissures.IfSeismogramDC.RequestFilter apply(edu.iris.Fissures.IfSeismogramDC.RequestFilter original)
           
 edu.iris.Fissures.seismogramDC.LocalSeismogramImpl applyEncoded(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
          Makes a seismogram covering as little extra beyond begin and end times of this cut without extracting the data from the encoded data array.
static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] coarseCut(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] aFilterseq, edu.iris.Fissures.IfSeismogramDC.LocalSeismogram[] seis)
          Applys a coarse cut to the seismograms based on the request filter.
static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl cut(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis, int beginIndex, int endIndex)
           
static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl cutEncoded(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis, int beginIndex, int endIndex)
           
 edu.iris.Fissures.model.MicroSecondDate getBegin()
           
protected  int getBeginIndex(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
           
 edu.iris.Fissures.model.MicroSecondDate getEnd()
           
protected  int getEndIndex(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
           
 boolean overlaps(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SEC_PER_SEC

public static final edu.iris.Fissures.model.UnitImpl SEC_PER_SEC
Constructor Detail

Cut

public Cut(edu.iris.Fissures.model.MicroSecondDate begin,
           edu.iris.Fissures.model.MicroSecondDate end)

Cut

public Cut(edu.iris.Fissures.IfSeismogramDC.RequestFilter request)
Method Detail

apply

public edu.iris.Fissures.seismogramDC.LocalSeismogramImpl apply(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
                                                         throws edu.iris.Fissures.FissuresException
Specified by:
apply in interface LocalSeismogramFunction
Returns:
- a seismogram cut to the configured time window. The original seismogram is not modified. Returns null if no data is within the cut window.
Throws:
edu.iris.Fissures.FissuresException

cut

public static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl cut(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis,
                                                                     int beginIndex,
                                                                     int endIndex)
                                                              throws edu.iris.Fissures.FissuresException
Throws:
edu.iris.Fissures.FissuresException

overlaps

public boolean overlaps(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)

getEndIndex

protected int getEndIndex(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)

getBeginIndex

protected int getBeginIndex(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getBegin

public edu.iris.Fissures.model.MicroSecondDate getBegin()

getEnd

public edu.iris.Fissures.model.MicroSecondDate getEnd()

apply

public edu.iris.Fissures.IfSeismogramDC.RequestFilter apply(edu.iris.Fissures.IfSeismogramDC.RequestFilter original)

applyEncoded

public edu.iris.Fissures.seismogramDC.LocalSeismogramImpl applyEncoded(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis)
                                                                throws edu.iris.Fissures.FissuresException
Makes a seismogram covering as little extra beyond begin and end times of this cut without extracting the data from the encoded data array. This means there may be a few extra points around the begin and end time as the encoded data segments probably won't line up with the cut times. If the cut and the seismogram have no time in common, null is returned. If the data isn't encoded, no cut is performed

Returns:
an encoded seismogram covering as little of cut time as possible or null if there's no overlap
Throws:
edu.iris.Fissures.FissuresException

cutEncoded

public static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl cutEncoded(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl seis,
                                                                            int beginIndex,
                                                                            int endIndex)
                                                                     throws edu.iris.Fissures.FissuresException
Throws:
edu.iris.Fissures.FissuresException

coarseCut

public static edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] coarseCut(edu.iris.Fissures.IfSeismogramDC.RequestFilter[] aFilterseq,
                                                                             edu.iris.Fissures.IfSeismogramDC.LocalSeismogram[] seis)
                                                                      throws edu.iris.Fissures.FissuresException
Applys a coarse cut to the seismograms based on the request filter. This uses Cut.applyEncoded to cut sections of encoded data without decompressing first. Thus large data volumes can be reduced without memory problems.

Throws:
edu.iris.Fissures.FissuresException