Class CompositeSeismicPhase

java.lang.Object
edu.sc.seis.TauP.SimpleSeismicPhase
edu.sc.seis.TauP.CompositeSeismicPhase
All Implemented Interfaces:
SeismicPhase, Serializable, 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:
  • Constructor Details

  • Method Details

    • getSubPhaseList

      public List<SimpleContigSeismicPhase> getSubPhaseList()
    • getShadowZones

      public List<ShadowZone> getShadowZones()
    • interpolateSimplePhase

      public SimpleSeismicPhase interpolateSimplePhase(double maxDeltaDeg)
      Specified by:
      interpolateSimplePhase in class SimpleSeismicPhase
    • isFail

      public boolean isFail()
    • failReason

      public 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 String getName()
    • getPuristName

      public String getPuristName()
    • getSourceDepth

      public double getSourceDepth()
    • getReceiverDepth

      public double getReceiverDepth()
    • hasArrivals

      public boolean hasArrivals()
    • getMaxRayParamIndex

      public int getMaxRayParamIndex()
    • getMinRayParamIndex

      public int getMinRayParamIndex()
    • getListPhaseSegments

      public List<List<SeismicPhaseSegment>> getListPhaseSegments()
    • getInitialPhaseSegment

      public SeismicPhaseSegment getInitialPhaseSegment()
    • getFinalPhaseSegment

      public SeismicPhaseSegment getFinalPhaseSegment()
    • 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
    • shootRay

      public Arrival shootRay(double rayParam) throws TauPException
      Throws:
      TauPException
    • 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.
    • calcRayParamForTakeoffAngle

      public double calcRayParamForTakeoffAngle(double takeoffDegree) throws NoArrivalException
      Throws:
      NoArrivalException
    • calcRayParamForIncidentAngle

      public double calcRayParamForIncidentAngle(double incidentDegree) throws NoArrivalException
      Throws:
      NoArrivalException
    • 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 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 -
    • calcSegmentPaths

      public List<ArrivalPathSegment> calcSegmentPaths(Arrival arrival, TimeDist prevEnd, int prevIdx) throws SlownessModelException, TauModelException
      Description copied from class: SimpleSeismicPhase
      Calc path with a starting time-distance possibly not zero. Used when this simple phase is the outbound phase of a scattered phase and so the path needs to start at the scatterer distance.
      Overrides:
      calcSegmentPaths in class SimpleSeismicPhase
      Returns:
      Throws:
      SlownessModelException
      TauModelException
    • dump

      public void dump()
    • interpolatePhase

      public SeismicPhase interpolatePhase(double maxDeltaDeg)
    • calcReflTranPSV

      Throws:
      TauModelException
      SlownessModelException
    • calcReflTranSH

      Throws:
      TauModelException
      SlownessModelException
    • interpPierceTimeDist

      public List<TimeDist> interpPierceTimeDist(Arrival arrival) throws TauModelException
      Throws:
      TauModelException
    • calcTstar

      public double calcTstar(Arrival arrival)
    • getNumRays

      public int getNumRays()
    • describe

      public String describe()
    • describeShort

      public String describeShort()