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
calcEnergyReflTranPSV(Arrival arrival)
double
calcEnergyReflTranSH(Arrival arrival)
double
calcIncidentAngle(double arrivalRayParam)
double
calcIncidentAngleDegree(double arrivalRayParam)
java.util.List<TimeDist>
calcPierceTimeDist(Arrival arrival)
double
calcRayParamForTakeoffAngle(double takeoffDegree)
java.util.List<ArrivalPathSegment>
calcSegmentPaths(Arrival currArrival)
double
calcTakeoffAngle(double arrivalRayParam)
double
calcTakeoffAngleDegree(double arrivalRayParam)
double
calcTstar(Arrival currArrival)
int
countFlatLegs()
Arrival
createArrivalAtIndex(int rayNum)
Creates an Arrival for a sampled ray parameter from the model.double
densityAtReceiver()
double
densityAtSource()
java.lang.String
describe()
java.lang.String
describeJson()
java.lang.String
describeShort()
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)
-
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()
-
densityAtSource
double densityAtSource()
-
calcTakeoffAngleDegree
double calcTakeoffAngleDegree(double arrivalRayParam)
-
calcTakeoffAngle
double calcTakeoffAngle(double arrivalRayParam)
-
calcIncidentAngle
double calcIncidentAngle(double arrivalRayParam)
-
calcIncidentAngleDegree
double calcIncidentAngleDegree(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()
-
describeShort
java.lang.String describeShort()
-
describeJson
java.lang.String describeJson()
-
toString
java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
dump
void dump()
-
calcEnergyReflTranPSV
double calcEnergyReflTranPSV(Arrival arrival) throws VelocityModelException, SlownessModelException
-
calcEnergyReflTranSH
double calcEnergyReflTranSH(Arrival arrival) throws VelocityModelException, SlownessModelException
-
calcTstar
double calcTstar(Arrival currArrival)
-
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()
-
-