SLBM  3.0
Regional Seismic Travel Time
Public Member Functions | Private Attributes | List of all members
taup::TPdTaudr< V > Class Template Reference

#include <TPVelocityModels.h>

Public Member Functions

 TPdTaudr (V &v)
 Standard constructor. More...
 
 TPdTaudr (const TPdTaudr &ti)
 Copy constructor. More...
 
virtual ~TPdTaudr ()
 Destructor. More...
 
TPdTaudroperator= (const TPdTaudr &ti)
 Assignment Operator. More...
 
double operator() (double r)
 Function operator that returns the result of the tau integrand evaluated at the input radius r. More...
 
void setP (double p)
 Sets the ray parameter to the input value p. More...
 

Private Attributes

double tiP
 The ray parameter as set through the function setP(p). More...
 
V & tiV
 The velocity model as set through the standard constructor. More...
 

Detailed Description

template<class V>
class taup::TPdTaudr< V >

/brief Tau Integrand. Integrating this function over radius yields the Tau function result which when added to p * distance gives the travel time. This is the 1D radially symetric layered model time integrand given by

            sqrt(r^2 - (p v(r))^2)
dTau/dr = --------------------------
                   r v(r)

This object requires the velocity model as a template parameter (V) from which the velocity at a radial position (v(r)) is found. The ray parameter (p) is set with the function setP(). The velocity model is set at construction and cannot be changed once defined.

The equation above is defined in the overloaded function operator() which is called by the numerical integration facility to integrate the function.

Constructor & Destructor Documentation

template<class V>
taup::TPdTaudr< V >::TPdTaudr ( V &  v)
inline

This is the only means of setting the velocity model into the integrand. The ray parameter is initialized to 0.

template<class V>
taup::TPdTaudr< V >::TPdTaudr ( const TPdTaudr< V > &  ti)
inline
template<class V>
virtual taup::TPdTaudr< V >::~TPdTaudr ( )
inlinevirtual

Member Function Documentation

template<class V>
double taup::TPdTaudr< V >::operator() ( double  r)
inline
template<class V>
TPdTaudr& taup::TPdTaudr< V >::operator= ( const TPdTaudr< V > &  ti)
inline

Since the velocity model is set by reference it cannot be changed. The assignment operator simply sets the ray parameter as defined in the input TPdTaudr

template<class V>
void taup::TPdTaudr< V >::setP ( double  p)
inline

Member Data Documentation

template<class V>
double taup::TPdTaudr< V >::tiP
private
template<class V>
V& taup::TPdTaudr< V >::tiV
private

The documentation for this class was generated from the following file: