Package edu.sc.seis.TauP
Interface SeismicPhase
-
- All Superinterfaces:
java.lang.Cloneable
,java.io.Serializable
- All Known Implementing Classes:
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)
java.util.List<Arrival>
calcTime(DistanceRay dv)
java.util.List<Arrival>
calcTimeExactDistanceDeg(double deg)
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)
boolean[]
getDownGoing()
Arrival
getEarliestArrival(double degrees)
static Arrival
getEarliestArrival(java.util.List<SeismicPhase> phases, double degrees)
int[]
getLegAction()
java.util.List<java.lang.String>
getLegs()
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[]
getWaveType()
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()
-
getLegs
java.util.List<java.lang.String> getLegs()
-
getPhaseSegments
java.util.List<SeismicPhaseSegment> getPhaseSegments()
-
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()
-
getDownGoing
boolean[] getDownGoing()
-
getWaveType
boolean[] getWaveType()
-
getLegAction
int[] getLegAction()
-
hasArrivals
boolean hasArrivals()
-
distanceTrim180
static double distanceTrim180(double deg)
-
calcTime
java.util.List<Arrival> calcTime(double deg)
-
calcTime
java.util.List<Arrival> calcTime(DistanceRay dv)
-
calcTimeExactDistanceDeg
java.util.List<Arrival> calcTimeExactDistanceDeg(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
-- Returns:
-
shootRay
Arrival shootRay(double rayParam) throws SlownessModelException, NoSuchLayerException
-
isAllPWave
boolean isAllPWave()
True is all segments of this path are only P waves.- Returns:
-
isAllSWave
boolean isAllSWave()
True is all segments of this path are only S waves.- Returns:
-
calcRayParamForTakeoffAngle
double calcRayParamForTakeoffAngle(double takeoffDegree)
-
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.- Returns:
-
finalSegmentIsPWave
boolean finalSegmentIsPWave()
True if the final, incident, wavetype is a P wave, false if an S wave.- Returns:
-
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()
-
-