Package edu.sc.seis.TauP
Class CompositeSeismicPhase
java.lang.Object
edu.sc.seis.TauP.SimpleSeismicPhase
edu.sc.seis.TauP.CompositeSeismicPhase
- All Implemented Interfaces:
SeismicPhase,Serializable,Cloneable
Seismic Phase that is simple, but may contain shadow zones due to high slowness layers (low velocity zones) in the model.
- See Also:
-
Field Summary
Fields inherited from interface edu.sc.seis.TauP.SeismicPhase
PWAVE, SWAVE -
Constructor Summary
ConstructorsConstructorDescriptionCompositeSeismicPhase(List<SimpleContigSeismicPhase> subphaseList) CompositeSeismicPhase(List<SimpleContigSeismicPhase> subphaseList, List<ShadowZone> shadowZones) -
Method Summary
Modifier and TypeMethodDescriptiondoublecalcIncidentAngle(double arrivalRayParam) doublecalcIncidentAngleDegree(double arrivalRayParam) doublecalcRayParamForIncidentAngle(double incidentDegree) doublecalcRayParamForTakeoffAngle(double takeoffDegree) calcReflTranPSV(Arrival arrival) calcReflTranSH(Arrival arrival) calcSegmentPaths(Arrival arrival, TimeDist prevEnd, int prevIdx) Calc path with a starting time-distance possibly not zero.doublecalcTakeoffAngle(double arrivalRayParam) doublecalcTakeoffAngleDegree(double arrivalRayParam) calcTimeExactDistance(double searchDist) Calculates arrivals for this phase, but only for the exact distance in radians.doubleintcreateArrivalAtIndex(int rayNum) Creates an Arrival for a sampled ray parameter from the model.doubledoubledescribe()voiddump()booleanTrue if the final, incident, wavetype is a P wave, false if an S wave.double[]getDist()doublegetDist(int rayNum) getEarliestArrival(double degrees) doubledoubledoubleintdoubledoubledoubledoubleintdoublegetName()intdouble[]doublegetRayParams(int rayNum) doubledoubledouble[]getTau()doublegetTau(int rayNum) double[]getTime()doublegetTime(int rayNum) booleaninterpolatePhase(double maxDeltaDeg) interpolateSimplePhase(double maxDeltaDeg) interpPierceTimeDist(Arrival arrival) booleanTrue is all segments of this path are only P waves.booleanTrue is all segments of this path are only S waves.booleanisFail()booleanshootRay(double rayParam) booleanTrue if the initial leg, leaving the source, wavetype is a P wave, false if an S wave.doubledoubleMethods inherited from class edu.sc.seis.TauP.SimpleSeismicPhase
calcEnergyFluxFactorReflTranPSV, calcEnergyFluxFactorReflTranSH, calcSegmentPathsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.sc.seis.TauP.SeismicPhase
toString
-
Constructor Details
-
CompositeSeismicPhase
-
CompositeSeismicPhase
public CompositeSeismicPhase(List<SimpleContigSeismicPhase> subphaseList, List<ShadowZone> shadowZones)
-
-
Method Details
-
getSubPhaseList
-
getShadowZones
-
interpolateSimplePhase
- Specified by:
interpolateSimplePhasein classSimpleSeismicPhase
-
isFail
public boolean isFail() -
failReason
-
phasesExistsInModel
public boolean phasesExistsInModel() -
getEarliestArrival
-
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
-
getPuristName
-
getSourceDepth
public double getSourceDepth() -
getReceiverDepth
public double getReceiverDepth() -
hasArrivals
public boolean hasArrivals() -
getMaxRayParamIndex
public int getMaxRayParamIndex() -
getMinRayParamIndex
public int getMinRayParamIndex() -
getListPhaseSegments
-
getInitialPhaseSegment
-
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
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
- 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
- Throws:
NoArrivalException
-
calcRayParamForIncidentAngle
- 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
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:
calcTimeExactDistancein classSimpleSeismicPhase- Parameters:
searchDist-
-
calcSegmentPaths
public List<ArrivalPathSegment> calcSegmentPaths(Arrival arrival, TimeDist prevEnd, int prevIdx) throws SlownessModelException, TauModelException Description copied from class:SimpleSeismicPhaseCalc 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:
calcSegmentPathsin classSimpleSeismicPhase- Returns:
- Throws:
SlownessModelExceptionTauModelException
-
dump
public void dump() -
interpolatePhase
-
calcReflTranPSV
public SeismicPhaseReflTransHolder calcReflTranPSV(Arrival arrival) throws TauModelException, SlownessModelException -
calcReflTranSH
public SeismicPhaseReflTransHolder calcReflTranSH(Arrival arrival) throws TauModelException, SlownessModelException -
interpPierceTimeDist
- Throws:
TauModelException
-
calcTstar
-
getNumRays
public int getNumRays() -
describe
-
describeShort
-