Package edu.sc.seis.TauP
Class SeismicPhaseWalk
java.lang.Object
edu.sc.seis.TauP.SeismicPhaseWalk
Walks all possible seismic phases, up to a maximum number of turns and reflections within a model.
-
Field Summary
FieldsModifier and TypeFieldDescriptionintTemporary assume receiver is at surface.double -
Constructor Summary
ConstructorsConstructorDescriptionSeismicPhaseWalk(TauModel tMod) SeismicPhaseWalk(TauModel tMod, Double minRayParam, Double maxRayParam, double receiverDepth) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanMergePhases(ProtoSeismicPhase curr, ProtoSeismicPhase other) createSourceSegments(TauModel tMod, boolean isPWave, double receiverDepth) voidexcludeBoundaries(List<Double> layerDepths) findEndingPaths(int maxAction) gettMod()booleanbooleanstatic StringlegNameForTauBranch(TauModel tMod, int branchNum, boolean isPWave, LayerPropogationType layerPropogationType) mergePhases(ProtoSeismicPhase curr, ProtoSeismicPhase other) nextLegs(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave) nextLegWithAction(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave, PhaseInteraction action) Calculates all next legs, then returns the first (only?) protophase with the given action at the end.onlySuccessfulEndingPhases(List<ProtoSeismicPhase> segmentTree) static voidoutTreeAdd(List<ProtoSeismicPhase> outTree, ProtoSeismicPhase proto) overlapsRayParam(List<ProtoSeismicPhase> segTree, Double minRayParam, Double maxRayParam) voidsetAllowPWave(boolean allowPWave) voidsetAllowSWave(boolean allowSWave) walkPhases(int maxAction) walkPhases(TauModel tMod, List<ProtoSeismicPhase> segmentTree, int maxInteractions) walkToSurface(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave, PhaseInteraction action)
-
Field Details
-
receiverBranch
public int receiverBranchTemporary assume receiver is at surface. -
receiverDepth
public double receiverDepth
-
-
Constructor Details
-
SeismicPhaseWalk
- Throws:
TauModelException
-
SeismicPhaseWalk
public SeismicPhaseWalk(TauModel tMod, Double minRayParam, Double maxRayParam, double receiverDepth) throws TauModelException - Throws:
TauModelException
-
-
Method Details
-
excludeBoundaries
- Throws:
TauModelException
-
findEndingPaths
- Throws:
TauModelException
-
onlySuccessfulEndingPhases
public List<ProtoSeismicPhase> onlySuccessfulEndingPhases(List<ProtoSeismicPhase> segmentTree) throws TauModelException - Throws:
TauModelException
-
walkPhases
- Throws:
TauModelException
-
createSourceSegments
public List<ProtoSeismicPhase> createSourceSegments(TauModel tMod, boolean isPWave, double receiverDepth) -
cleanDuplicates
-
canMergePhases
-
mergePhases
-
walkPhases
public List<ProtoSeismicPhase> walkPhases(TauModel tMod, List<ProtoSeismicPhase> segmentTree, int maxInteractions) throws TauModelException - Throws:
TauModelException
-
overlapsRayParam
public List<ProtoSeismicPhase> overlapsRayParam(List<ProtoSeismicPhase> segTree, Double minRayParam, Double maxRayParam) -
walkToSurface
public ProtoSeismicPhase walkToSurface(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave, PhaseInteraction action) throws TauModelException - Throws:
TauModelException
-
nextLegWithAction
public ProtoSeismicPhase nextLegWithAction(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave, PhaseInteraction action) throws TauModelException Calculates all next legs, then returns the first (only?) protophase with the given action at the end. Used to walk a path one step at a time.- Parameters:
tMod- the modelproto- starting proto phaseisPWave- true for P, false for Saction- desired end action- Returns:
- protophase one step further, null if not possible
- Throws:
TauModelException
-
nextLegs
public List<ProtoSeismicPhase> nextLegs(TauModel tMod, ProtoSeismicPhase proto, boolean isPWave) throws TauModelException - Throws:
TauModelException
-
outTreeAdd
-
legNameForTauBranch
public static String legNameForTauBranch(TauModel tMod, int branchNum, boolean isPWave, LayerPropogationType layerPropogationType) -
consolidateSegment
- Throws:
TauModelException
-
consolidateTrans
- Throws:
TauModelException
-
isAllowSWave
public boolean isAllowSWave() -
setAllowSWave
public void setAllowSWave(boolean allowSWave) -
isAllowPWave
public boolean isAllowPWave() -
setAllowPWave
public void setAllowPWave(boolean allowPWave) -
gettMod
-
getExcludeBranch
-