package edu.sc.seis.sod.process.waveform;
import edu.iris.Fissures.IfSeismogramDC.RequestFilter;
import edu.iris.Fissures.network.ChannelImpl;
import edu.iris.Fissures.seismogramDC.LocalSeismogramImpl;
import edu.sc.seis.fissuresUtil.bag.Calculus;
import edu.sc.seis.fissuresUtil.cache.CacheEvent;
import edu.sc.seis.sod.CookieJar;
import edu.sc.seis.sod.Threadable;
public class Differentiate implements WaveformProcess, Threadable {
public boolean isThreadSafe() {
return true;
}
public WaveformResult accept(CacheEvent event,
ChannelImpl channel,
RequestFilter[] original,
RequestFilter[] available,
LocalSeismogramImpl[] seismograms,
CookieJar cookieJar) throws Exception {
for(int i = 0; i < seismograms.length; i++) {
seismograms[i] = Calculus.differentiate(seismograms[i]);
}
return new WaveformResult(true, seismograms, this);
}
}