package edu.sc.seis.sod.subsetter.station; import org.w3c.dom.Element; import edu.iris.Fissures.model.UnitImpl; import edu.iris.Fissures.network.StationImpl; import edu.sc.seis.fissuresUtil.bag.DistAz; import edu.sc.seis.sod.source.network.NetworkSource; import edu.sc.seis.sod.status.Fail; import edu.sc.seis.sod.status.Pass; import edu.sc.seis.sod.status.StringTree; import edu.sc.seis.sod.subsetter.origin.AbstractOriginPoint; public class StationPointAzimuth extends AbstractOriginPoint implements StationSubsetter { public StationPointAzimuth(Element config) throws Exception{ super(config); } public StringTree accept(StationImpl station, NetworkSource network) { double oLat = station.getLocation().latitude; double oLon = station.getLocation().longitude; DistAz distaz = new DistAz(oLat, oLon, latitude, longitude); if (getMin().convertTo(UnitImpl.DEGREE).get_value() <= distaz.getAz() && getMax().convertTo(UnitImpl.DEGREE).get_value() >= distaz.getAz()) { return new Pass(this); } else { return new Fail(this, "reject azimuth "+station+" distaz="+distaz.getAz()); } } }