package edu.sc.seis.sod.process.waveform; import org.w3c.dom.Element; import edu.iris.Fissures.IfSeismogramDC.RequestFilter; import edu.iris.Fissures.network.ChannelImpl; import edu.iris.Fissures.seismogramDC.LocalSeismogramImpl; import edu.sc.seis.fissuresUtil.bag.ChannelSeismogram; import edu.sc.seis.fissuresUtil.bag.FlippedChannel; import edu.sc.seis.fissuresUtil.cache.CacheEvent; import edu.sc.seis.sod.ConfigurationException; import edu.sc.seis.sod.CookieJar; public class InvertFlippedChannels extends ForkProcess { public InvertFlippedChannels(Element config) throws ConfigurationException { super(config); } public WaveformResult accept(CacheEvent event, ChannelImpl channel, RequestFilter[] original, RequestFilter[] available, LocalSeismogramImpl[] seismograms, CookieJar cookieJar) throws Exception { LocalSeismogramImpl[] fixedSeis = new LocalSeismogramImpl[seismograms.length]; ChannelImpl fixedChan = channel; for(int i = 0; i < seismograms.length; i++) { ChannelSeismogram corrected = FlippedChannel.correct(channel, seismograms[i]); fixedSeis[i] = (LocalSeismogramImpl)corrected.getSeismogram(); fixedChan = corrected.getChannel(); } return new WaveformResult(seismograms, doAND(event, fixedChan, original, available, fixedSeis, cookieJar).getReason()); } }