edu.sc.seis.sod.subsetter.eventStation

## Class PhaseInteraction

- java.lang.Object
- - edu.sc.seis.sod.subsetter.eventStation.PhaseInteraction

- All Implemented Interfaces:
    SodElement, EventStationSubsetter, Subsetter

      public class PhaseInteraction
      extends java.lang.Object
      implements EventStationSubsetter

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PhaseInteraction(org.w3c.dom.Element config)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `StringTree` | `accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.StationImpl station, CookieJar cookieJar)`
    `boolean` | `acceptPathInteraction(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.StationImpl station)`
    `boolean` | `acceptPierceInteraction(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.StationImpl station)`
    `double` | `checkForLongway(double distance, double azimuth)`
    `boolean` | `checkForRelativePathInteraction(edu.sc.seis.TauP.TimeDist[] timeDistArray, int start, int end, double eventStationDistance, double totalDistance)`
    `java.util.List<edu.sc.seis.TauP.Arrival>` | `getRequiredArrival(java.util.List<edu.sc.seis.TauP.Arrival> arrivals)`
    `edu.sc.seis.TauP.TimeDist` | `getRequiredTimeDist(edu.sc.seis.TauP.TimeDist[] timeDist)`
    `boolean` | `handleAbsolutePhaseInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals, double azimuth, edu.iris.Fissures.event.OriginImpl origin, java.lang.String type)`
    `boolean` | `handlePierceRelativePhaseInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals, double eventStationDistance)`
    `boolean` | `handleRelativePathInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals, double eventStationDistance)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PhaseInteraction

          public PhaseInteraction(org.w3c.dom.Element config)
                           throws ConfigurationException

      Throws:
        `ConfigurationException`

  - ### Method Detail

    - #### accept

          public StringTree accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                   edu.iris.Fissures.network.StationImpl station,
                                   CookieJar cookieJar)
                            throws java.lang.Exception

      Specified by:
        `accept` in interface `EventStationSubsetter`
      Throws:
        `java.lang.Exception`

    - #### acceptPathInteraction

          public boolean acceptPathInteraction(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                               edu.iris.Fissures.network.StationImpl station)
                                        throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### acceptPierceInteraction

          public boolean acceptPierceInteraction(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                                 edu.iris.Fissures.network.StationImpl station)
                                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### handlePierceRelativePhaseInteraction

          public boolean handlePierceRelativePhaseInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals,
                                                              double eventStationDistance)
                                                       throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### handleRelativePathInteraction

          public boolean handleRelativePathInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals,
                                                       double eventStationDistance)
                                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### checkForRelativePathInteraction

          public boolean checkForRelativePathInteraction(edu.sc.seis.TauP.TimeDist[] timeDistArray,
                                                         int start,
                                                         int end,
                                                         double eventStationDistance,
                                                         double totalDistance)
                                                  throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### handleAbsolutePhaseInteraction

          public boolean handleAbsolutePhaseInteraction(java.util.List<edu.sc.seis.TauP.Arrival> requiredArrivals,
                                                        double azimuth,
                                                        edu.iris.Fissures.event.OriginImpl origin,
                                                        java.lang.String type)
                                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getRequiredTimeDist

          public edu.sc.seis.TauP.TimeDist getRequiredTimeDist(edu.sc.seis.TauP.TimeDist[] timeDist)

    - #### getRequiredArrival

          public java.util.List<edu.sc.seis.TauP.Arrival> getRequiredArrival(java.util.List<edu.sc.seis.TauP.Arrival> arrivals)

    - #### checkForLongway

          public double checkForLongway(double distance,
                                        double azimuth)