package edu.sc.seis.sod.subsetter.channel; import edu.iris.Fissures.IfNetwork.Channel; import edu.iris.Fissures.IfNetwork.ChannelNotFound; import edu.iris.Fissures.IfNetwork.Instrumentation; import edu.iris.Fissures.IfNetwork.SeismicHardware; import edu.iris.Fissures.IfNetwork.Sensor; import edu.iris.Fissures.network.ChannelImpl; import edu.sc.seis.fissuresUtil.sac.InvalidResponse; import edu.sc.seis.sod.source.SodSourceException; import edu.sc.seis.sod.source.network.NetworkSource; /** * @author oliverpa * * Created on Jul 7, 2005 */ public abstract class SensorSubsetter extends InstrumentationSubsetter { protected SeismicHardware getSeismicHardware(Instrumentation inst) { return inst.the_sensor; } protected boolean acceptNominalHighFreq(ChannelImpl channel, NetworkSource network, float nominalHighFreq) { try { return ((Sensor)getSeismicHardware(channel, network)).nominal_high_freq == nominalHighFreq; } catch(ChannelNotFound ex) { handleChannelNotFound(ex); return false; } catch(InvalidResponse ex) { handle(ex); return false; } catch(SodSourceException ex) { handle(ex); return false; } } protected boolean acceptNominalLowFreq(ChannelImpl channel, NetworkSource network, float nominalLowFreq) { try { return ((Sensor)getSeismicHardware(channel, network)).nominal_low_freq == nominalLowFreq; } catch(ChannelNotFound ex) { handleChannelNotFound(ex); return false; } catch(InvalidResponse ex) { handle(ex); return false; } catch(SodSourceException ex) { handle(ex); return false; } } }