Package edu.sc.seis.TauP
Class ReflTrans
- java.lang.Object
-
- edu.sc.seis.TauP.ReflTrans
-
- Direct Known Subclasses:
ReflTransFluidFluid
,ReflTransFluidFreeSurface
,ReflTransFluidSolid
,ReflTransFreeSurface
,ReflTransSolidFluid
,ReflTransSolidSolid
public abstract class ReflTrans extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected double
botDensity
protected Complex
botVertSlownessP
protected Complex
botVertSlownessS
protected double
botVp
protected double
botVs
protected static Complex
CX
just to avoid having Complex all over the place.protected boolean
lastInIsPWave
protected double
lastRayParam
protected double
rp
protected double
sqBotVp
protected double
sqBotVs
protected double
sqRP
protected double
sqTopVp
protected double
sqTopVs
protected double
topDensity
protected Complex
topVertSlownessP
protected Complex
topVertSlownessS
protected double
topVp
protected double
topVs
-
Constructor Summary
Constructors Constructor Description ReflTrans(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double[]
calcCriticalRayParams()
Complex
calcInVerticalSlownessP(double flatRP)
Complex
calcInVerticalSlownessS(double flatRP)
protected abstract void
calcTempVars(double rayParam, boolean inIsPWave)
Complex
calcTransVerticalSlownessP(double flatRP)
Complex
calcTransVerticalSlownessS(double flatRP)
abstract ReflTrans
flip()
Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction.double
getAngleR_p(double flatRP)
double
getAngleR_s(double flatRP)
double
getAngleT_p(double flatRP)
double
getAngleT_s(double flatRP)
abstract Complex
getComplexRpp(double rayParam)
abstract Complex
getComplexRps(double rayParam)
abstract Complex
getComplexRshsh(double rayParam)
abstract Complex
getComplexRsp(double rayParam)
abstract Complex
getComplexRss(double rayParam)
abstract Complex
getComplexTpp(double rayParam)
abstract Complex
getComplexTps(double rayParam)
abstract Complex
getComplexTshsh(double rayParam)
abstract Complex
getComplexTsp(double rayParam)
abstract Complex
getComplexTss(double rayParam)
double
getEnergyFluxRpp(double flatRP)
double
getEnergyFluxRps(double flatRP)
double
getEnergyFluxRshsh(double flatRP)
double
getEnergyFluxRsp(double flatRP)
double
getEnergyFluxRss(double flatRP)
double
getEnergyFluxTpp(double flatRP)
double
getEnergyFluxTps(double flatRP)
double
getEnergyFluxTshsh(double flatRP)
double
getEnergyFluxTsp(double flatRP)
double
getEnergyFluxTss(double flatRP)
static double
getRealCoefficient(Complex coef)
double
getRpp(double rayParam)
Calculates incident P wave to reflected P wave coefficient.double
getRps(double rayParam)
Calculates incident P wave to reflected SV wave coefficient.double
getRshsh(double rayParam)
Calculates incident SH wave to reflected SH wave coefficient.double
getRsp(double rayParam)
Calculates incident SV wave to reflected P wave coefficient.double
getRss(double rayParam)
Calculates incident SV wave to reflected SV wave coefficient.double
getTpp(double rayParam)
Calculates incident P wave to transmitted P wave coefficient.double
getTps(double rayParam)
Calculates incident P wave to transmitted SV wave coefficient.double
getTshsh(double rayParam)
Calculates incident SH wave to transmitted SH wave coefficient.double
getTsp(double rayParam)
Calculates incident SV wave to transmitted P wave coefficient.double
getTss(double rayParam)
Calculates incident SV wave to transmitted SV wave coefficient.double
inboundEnergyP(double flatRP)
double
inboundEnergyS(double flatRP)
-
-
-
Field Detail
-
topVp
protected double topVp
-
topVs
protected double topVs
-
topDensity
protected double topDensity
-
botVp
protected double botVp
-
botVs
protected double botVs
-
botDensity
protected double botDensity
-
rp
protected double rp
-
topVertSlownessP
protected Complex topVertSlownessP
-
topVertSlownessS
protected Complex topVertSlownessS
-
botVertSlownessP
protected Complex botVertSlownessP
-
botVertSlownessS
protected Complex botVertSlownessS
-
sqBotVs
protected double sqBotVs
-
sqTopVs
protected double sqTopVs
-
sqBotVp
protected double sqBotVp
-
sqTopVp
protected double sqTopVp
-
sqRP
protected double sqRP
-
lastRayParam
protected double lastRayParam
-
lastInIsPWave
protected boolean lastInIsPWave
-
CX
protected static final Complex CX
just to avoid having Complex all over the place.
-
-
Method Detail
-
getComplexRpp
public abstract Complex getComplexRpp(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexRps
public abstract Complex getComplexRps(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexTpp
public abstract Complex getComplexTpp(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexTps
public abstract Complex getComplexTps(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexRsp
public abstract Complex getComplexRsp(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexRss
public abstract Complex getComplexRss(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexTsp
public abstract Complex getComplexTsp(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexTss
public abstract Complex getComplexTss(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexRshsh
public abstract Complex getComplexRshsh(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
getComplexTshsh
public abstract Complex getComplexTshsh(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
flip
public abstract ReflTrans flip() throws VelocityModelException
Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction.- Throws:
VelocityModelException
-
getRpp
public double getRpp(double rayParam) throws VelocityModelException
Calculates incident P wave to reflected P wave coefficient.- Throws:
VelocityModelException
-
getRps
public double getRps(double rayParam) throws VelocityModelException
Calculates incident P wave to reflected SV wave coefficient.- Throws:
VelocityModelException
-
getTpp
public double getTpp(double rayParam) throws VelocityModelException
Calculates incident P wave to transmitted P wave coefficient.- Throws:
VelocityModelException
-
getTps
public double getTps(double rayParam) throws VelocityModelException
Calculates incident P wave to transmitted SV wave coefficient.- Throws:
VelocityModelException
-
getRsp
public double getRsp(double rayParam) throws VelocityModelException
Calculates incident SV wave to reflected P wave coefficient.- Throws:
VelocityModelException
-
getRss
public double getRss(double rayParam) throws VelocityModelException
Calculates incident SV wave to reflected SV wave coefficient.- Throws:
VelocityModelException
-
getTsp
public double getTsp(double rayParam) throws VelocityModelException
Calculates incident SV wave to transmitted P wave coefficient.- Throws:
VelocityModelException
-
getTss
public double getTss(double rayParam) throws VelocityModelException
Calculates incident SV wave to transmitted SV wave coefficient.- Throws:
VelocityModelException
-
getRshsh
public double getRshsh(double rayParam) throws VelocityModelException
Calculates incident SH wave to reflected SH wave coefficient.- Throws:
VelocityModelException
-
getTshsh
public double getTshsh(double rayParam) throws VelocityModelException
Calculates incident SH wave to transmitted SH wave coefficient.- Throws:
VelocityModelException
-
getRealCoefficient
public static double getRealCoefficient(Complex coef)
-
calcInVerticalSlownessP
public Complex calcInVerticalSlownessP(double flatRP)
-
calcInVerticalSlownessS
public Complex calcInVerticalSlownessS(double flatRP)
-
calcTransVerticalSlownessP
public Complex calcTransVerticalSlownessP(double flatRP)
-
calcTransVerticalSlownessS
public Complex calcTransVerticalSlownessS(double flatRP)
-
calcCriticalRayParams
public double[] calcCriticalRayParams()
-
getAngleR_p
public double getAngleR_p(double flatRP)
-
getAngleR_s
public double getAngleR_s(double flatRP)
-
getAngleT_p
public double getAngleT_p(double flatRP)
-
getAngleT_s
public double getAngleT_s(double flatRP)
-
inboundEnergyP
public double inboundEnergyP(double flatRP)
-
inboundEnergyS
public double inboundEnergyS(double flatRP)
-
getEnergyFluxRpp
public double getEnergyFluxRpp(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxTpp
public double getEnergyFluxTpp(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxRps
public double getEnergyFluxRps(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxTps
public double getEnergyFluxTps(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxRsp
public double getEnergyFluxRsp(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxTsp
public double getEnergyFluxTsp(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxRss
public double getEnergyFluxRss(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxTss
public double getEnergyFluxTss(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxRshsh
public double getEnergyFluxRshsh(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
getEnergyFluxTshsh
public double getEnergyFluxTshsh(double flatRP) throws VelocityModelException
- Throws:
VelocityModelException
-
calcTempVars
protected abstract void calcTempVars(double rayParam, boolean inIsPWave)
-
-