Package edu.sc.seis.TauP
Interface SeismicPhase
-
- All Superinterfaces:
java.lang.Cloneable
,java.io.Serializable
- All Known Implementing Classes:
FailedSeismicPhase
,ScatteredSeismicPhase
,SimpleSeismicPhase
public interface SeismicPhase extends java.io.Serializable, java.lang.Cloneable
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static java.lang.String
baseDescribe(SeismicPhase phase)
static java.lang.String
baseDescribeJSON(SeismicPhase phase)
double
calcIncidentAngle(double arrivalRayParam)
java.util.List<TimeDist>
calcPierceTimeDist(Arrival arrival)
double
calcRayParamForTakeoffAngle(double takeoffDegree)
double
calcReflTranPSV(Arrival arrival)
double
calcReflTranSH(Arrival arrival)
java.util.List<ArrivalPathSegment>
calcSegmentPaths(Arrival currArrival)
double
calcTakeoffAngle(double arrivalRayParam)
java.util.List<Arrival>
calcTime(double deg)
int
countFlatLegs()
Arrival
createArrivalAtIndex(int rayNum)
Creates an Arrival for a sampled ray parameter from the model.double
densityAtReceiver()
java.lang.String
describe()
java.lang.String
describeJson()
static double
distanceTrim180(double deg)
void
dump()
boolean
finalSegmentIsPWave()
True if the final, incident, wavetype is a P wave, false if an S wave.double[]
getDist()
double
getDist(int i)
Arrival
getEarliestArrival(double degrees)
static Arrival
getEarliestArrival(java.util.List<SeismicPhase> phases, double degrees)
SeismicPhaseSegment
getFinalPhaseSegment()
SeismicPhaseSegment
getInitialPhaseSegment()
double
getMaxDistance()
double
getMaxDistanceDeg()
double
getMaxRayParam()
int
getMaxRayParamIndex()
double
getMaxTime()
double
getMinDistance()
double
getMinDistanceDeg()
double
getMinRayParam()
int
getMinRayParamIndex()
double
getMinTime()
java.lang.String
getName()
int
getNumRays()
java.util.List<SeismicPhaseSegment>
getPhaseSegments()
java.lang.String
getPuristName()
double[]
getRayParams()
double
getRayParams(int i)
double
getReceiverDepth()
double
getSourceDepth()
double[]
getTau()
double
getTau(int i)
TauModel
getTauModel()
double[]
getTime()
double
getTime(int i)
boolean
hasArrivals()
boolean
isAllPWave()
True is all segments of this path are only P waves.boolean
isAllSWave()
True is all segments of this path are only S waves.boolean
phasesExistsInModel()
static java.lang.String
segmentDescribe(SeismicPhase phase)
static java.lang.String
segmentDescribeJSON(SeismicPhase phase)
Arrival
shootRay(double rayParam)
boolean
sourceSegmentIsPWave()
True if the initial leg, leaving the source, wavetype is a P wave, false if an S wave.static java.util.List<double[]>
splitForRepeatRayParam(double[] rayParams, double[] values)
Split calculated array into segments for repeated ray parameter values, which indicate a discontinuity in the calculations usually due to low velocity zone.java.lang.String
toString()
double
velocityAtReceiver()
double
velocityAtSource()
-
-
-
Method Detail
-
getEarliestArrival
static Arrival getEarliestArrival(java.util.List<SeismicPhase> phases, double degrees)
-
phasesExistsInModel
boolean phasesExistsInModel()
-
getEarliestArrival
Arrival getEarliestArrival(double degrees)
-
getTauModel
TauModel getTauModel()
-
getMinDistanceDeg
double getMinDistanceDeg()
-
getMinDistance
double getMinDistance()
-
getMaxDistanceDeg
double getMaxDistanceDeg()
-
getMaxDistance
double getMaxDistance()
-
getMaxRayParam
double getMaxRayParam()
-
getMinRayParam
double getMinRayParam()
-
getMaxRayParamIndex
int getMaxRayParamIndex()
-
getMinRayParamIndex
int getMinRayParamIndex()
-
getMinTime
double getMinTime()
-
getMaxTime
double getMaxTime()
-
getName
java.lang.String getName()
-
getPuristName
java.lang.String getPuristName()
-
getSourceDepth
double getSourceDepth()
-
getReceiverDepth
double getReceiverDepth()
-
getPhaseSegments
java.util.List<SeismicPhaseSegment> getPhaseSegments()
-
getInitialPhaseSegment
SeismicPhaseSegment getInitialPhaseSegment()
-
getFinalPhaseSegment
SeismicPhaseSegment getFinalPhaseSegment()
-
countFlatLegs
int countFlatLegs()
-
getRayParams
double getRayParams(int i)
-
getRayParams
double[] getRayParams()
-
getDist
double getDist(int i)
-
getDist
double[] getDist()
-
getTime
double getTime(int i)
-
getTime
double[] getTime()
-
getTau
double getTau(int i)
-
getTau
double[] getTau()
-
hasArrivals
boolean hasArrivals()
-
distanceTrim180
static double distanceTrim180(double deg)
-
calcTime
java.util.List<Arrival> calcTime(double deg)
-
createArrivalAtIndex
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
Arrival shootRay(double rayParam) throws SlownessModelException, NoSuchLayerException
-
isAllPWave
boolean isAllPWave()
True is all segments of this path are only P waves.
-
isAllSWave
boolean isAllSWave()
True is all segments of this path are only S waves.
-
calcRayParamForTakeoffAngle
double calcRayParamForTakeoffAngle(double takeoffDegree) throws NoArrivalException
- Throws:
NoArrivalException
-
velocityAtSource
double velocityAtSource()
-
velocityAtReceiver
double velocityAtReceiver()
-
densityAtReceiver
double densityAtReceiver()
-
calcTakeoffAngle
double calcTakeoffAngle(double arrivalRayParam)
-
calcIncidentAngle
double calcIncidentAngle(double arrivalRayParam)
-
sourceSegmentIsPWave
boolean sourceSegmentIsPWave()
True if the initial leg, leaving the source, wavetype is a P wave, false if an S wave.
-
finalSegmentIsPWave
boolean finalSegmentIsPWave()
True if the final, incident, wavetype is a P wave, false if an S wave.
-
calcSegmentPaths
java.util.List<ArrivalPathSegment> calcSegmentPaths(Arrival currArrival)
-
describe
java.lang.String describe()
-
describeJson
java.lang.String describeJson()
-
toString
java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
dump
void dump()
-
calcReflTranPSV
double calcReflTranPSV(Arrival arrival) throws VelocityModelException, SlownessModelException
-
calcReflTranSH
double calcReflTranSH(Arrival arrival) throws VelocityModelException, SlownessModelException
-
splitForRepeatRayParam
static java.util.List<double[]> splitForRepeatRayParam(double[] rayParams, double[] values)
Split calculated array into segments for repeated ray parameter values, which indicate a discontinuity in the calculations usually due to low velocity zone.- Parameters:
rayParams
- ray parameter array for phasevalues
- derived array, such as distance, time, tau, etc.- Returns:
- list of arrays for each contiguous segment
-
baseDescribe
static java.lang.String baseDescribe(SeismicPhase phase)
-
baseDescribeJSON
static java.lang.String baseDescribeJSON(SeismicPhase phase)
-
segmentDescribe
static java.lang.String segmentDescribe(SeismicPhase phase)
-
segmentDescribeJSON
static java.lang.String segmentDescribeJSON(SeismicPhase phase)
-
getNumRays
int getNumRays()
-
-