Class CompositeSeismicPhase

  • All Implemented Interfaces:
    SeismicPhase, java.io.Serializable, java.lang.Cloneable

    public class CompositeSeismicPhase
    extends SimpleSeismicPhase
    Seismic Phase that is simple, but may contain shadow zones due to high slowness layers (low velocity zones) in the model.
    See Also:
    Serialized Form
    • Method Detail

      • getShadowZones

        public java.util.List<ShadowZone> getShadowZones()
      • isFail

        public boolean isFail()
      • failReason

        public java.lang.String failReason()
      • phasesExistsInModel

        public boolean phasesExistsInModel()
      • getEarliestArrival

        public Arrival getEarliestArrival​(double degrees)
      • getTauModel

        public TauModel getTauModel()
      • getMinDistanceDeg

        public double getMinDistanceDeg()
      • getMinDistance

        public double getMinDistance()
      • getMaxDistanceDeg

        public double getMaxDistanceDeg()
      • getMaxDistance

        public double getMaxDistance()
      • getMaxRayParam

        public double getMaxRayParam()
      • getMinRayParam

        public double getMinRayParam()
      • getMinTime

        public double getMinTime()
      • getMaxTime

        public double getMaxTime()
      • getName

        public java.lang.String getName()
      • getPuristName

        public java.lang.String getPuristName()
      • getSourceDepth

        public double getSourceDepth()
      • getReceiverDepth

        public double getReceiverDepth()
      • hasArrivals

        public boolean hasArrivals()
      • getMaxRayParamIndex

        public int getMaxRayParamIndex()
      • getMinRayParamIndex

        public int getMinRayParamIndex()
      • getListPhaseSegments

        public java.util.List<java.util.List<SeismicPhaseSegment>> getListPhaseSegments()
      • countFlatLegs

        public int countFlatLegs()
      • getRayParams

        public double getRayParams​(int rayNum)
      • getRayParams

        public double[] getRayParams()
      • getDist

        public double getDist​(int rayNum)
      • getDist

        public double[] getDist()
      • getTime

        public double getTime​(int rayNum)
      • getTime

        public double[] getTime()
      • getTau

        public double getTau​(int rayNum)
      • getTau

        public double[] getTau()
      • createArrivalAtIndex

        public Arrival createArrivalAtIndex​(int rayNum)
        Creates an Arrival for a sampled ray parameter from the model. No interpolation between rays as this is a sample.
        Parameters:
        rayNum - index in ray parameters
      • isAllPWave

        public boolean isAllPWave()
        True is all segments of this path are only P waves.
      • isAllSWave

        public boolean isAllSWave()
        True is all segments of this path are only S waves.
      • velocityAtSource

        public double velocityAtSource()
      • velocityAtReceiver

        public double velocityAtReceiver()
      • densityAtReceiver

        public double densityAtReceiver()
      • densityAtSource

        public double densityAtSource()
      • calcTakeoffAngleDegree

        public double calcTakeoffAngleDegree​(double arrivalRayParam)
      • calcTakeoffAngle

        public double calcTakeoffAngle​(double arrivalRayParam)
      • calcIncidentAngle

        public double calcIncidentAngle​(double arrivalRayParam)
      • calcIncidentAngleDegree

        public double calcIncidentAngleDegree​(double arrivalRayParam)
      • sourceSegmentIsPWave

        public boolean sourceSegmentIsPWave()
        True if the initial leg, leaving the source, wavetype is a P wave, false if an S wave.
      • finalSegmentIsPWave

        public boolean finalSegmentIsPWave()
        True if the final, incident, wavetype is a P wave, false if an S wave.
      • calcTimeExactDistance

        public java.util.List<Arrival> calcTimeExactDistance​(double searchDist)
        Calculates arrivals for this phase, but only for the exact distance in radians. This does not check multiple laps nor going the long way around.
        Specified by:
        calcTimeExactDistance in class SimpleSeismicPhase
        Parameters:
        searchDist -
      • dump

        public void dump()
      • interpolatePhase

        public SeismicPhase interpolatePhase​(double maxDeltaDeg)
      • getNumRays

        public int getNumRays()
      • describe

        public java.lang.String describe()
      • describeShort

        public java.lang.String describeShort()