MTTensor Class Reference
[MT data analysis, processing and inversion]

Stores MT-Tensor components at a single frequency, calculates derived quantities. More...

#include <MTTensor.h>

List of all members.

Public Member Functions

double GetdZero () const
 Function for Errors that cannot be calculated analytically when we don't want Jacknife errors.
void SetErrors (double dxx, double dxy, double dyx, double dyy)
 Set the errors for the impedance elements.
void Rotate (double angle)
 Rotate by the given angle in radian.
double GetRotangle () const
 !return the current angle in radian
double & SetRotangle ()
 Set the rotation angle, without performing the corresponding rotation.
double GetFrequency () const
 Get the frequency for the impedance.
std::complex< double > GetZyy () const
 Return tensor elements.
std::complex< double > GetZxx () const
std::complex< double > GetZxy () const
std::complex< double > GetZyx () const
std::complex< double > & SetZyy ()
 Write access to tensor elements.
std::complex< double > & SetZxx ()
std::complex< double > & SetZxy ()
std::complex< double > & SetZyx ()
double GetdZxx () const
 Return tensor element errors.
double GetdZxy () const
double GetdZyx () const
double GetdZyy () const
double & SetdZyy ()
 Write access to errors.
double & SetdZxx ()
double & SetdZxy ()
double & SetdZyx ()
double GetRhoxx () const
 Return apparent resistivity.
double GetRhoxy () const
double GetRhoyx () const
double GetRhoyy () const
double GetPhixx () const
 Return phase.
double GetPhixy () const
double GetPhiyx () const
double GetPhiyy () const
double GetPhi90xx () const
 Return phase restricted to 0 to 90 degree range.
double GetPhi90xy () const
double GetPhi90yx () const
double GetPhi90yy () const
double GetdRhoxx () const
 Return Rho Error for tensor elements.
double GetdRhoxy () const
double GetdRhoyx () const
double GetdRhoyy () const
double GetdPhixx () const
 return phase error for tensor elements
double GetdPhixy () const
double GetdPhiyx () const
double GetdPhiyy () const
double GetRhoxxStar () const
 Return Schmucker's rho* for tensor elements.
double GetRhoxyStar () const
double GetRhoyxStar () const
double GetRhoyyStar () const
double GetZxxStar () const
 Return Schmucker's z* for tensor elements.
double GetZxyStar () const
double GetZyxStar () const
double GetZyyStar () const
std::complex< double > GetS1 () const
 Some invariants and intermediate quantities for strike and skew calculation.
std::complex< double > GetS2 () const
std::complex< double > GetD1 () const
std::complex< double > GetD2 () const
std::complex< double > GetBerd () const
 The Berdichevskyi invariant.
double GetdBerd () const
 The error of the Berdichevskyi invariant.
double GetRhoBerd () const
double GetPhi90Berd () const
double GetdRhoBerd () const
double GetdPhi90Berd () const
std::complex< double > GetDet () const
 The determinant.
double GetdDet () const
 The error of the determinant.
double GetDetreal () const
 The determinant of the real parts of Z.
double GetdDetreal () const
 Get the error of the determinant of the real part.
double GetMu () const
 Rotationally invariant phase difference.
double GetKappa () const
 Swift's skew.
double GetSigma () const
double GetEta () const
 Bahr's skew.
double GetAlpha () const
double GetAlphaHigh () const
 Calculate strike angle, so it points to high conductivity direction (Phixy > Phiyx).
double GetMaxPhiDiff () const
 Maximum phase difference.
double GetPhi11 () const
 All the following quantities are defined in Caldwell GJI 158, 457-469, the phase tensor elements.
double GetPhi12 () const
double GetPhi21 () const
double GetPhi22 () const
double GetAlpha_phi () const
double GetBeta_phi () const
double GetPi1 () const
double GetPi2 () const
double GetPhiStrike () const
double GetPhiMax () const
double GetPhiMin () const
double GettrPhi () const
double GetskPhi () const
double GetdetPhi () const
double GetPhi1 () const
double GetPhi2 () const
double GetPhi2Sq () const
double GetPhi3 () const
double GetPhiEllip () const
double GetXi1 () const
double GetXi2 () const
double GetXi3 () const
double GetXi4 () const
double GetEta1 () const
double GetEta2 () const
double GetEta3 () const
double GetEta4 () const
double GetI1 () const
double GetI2 () const
double GetI3 () const
double GetI4 () const
double GetI5 () const
double GetI6 () const
double Getd13 () const
double Getd12 () const
double Getd24 () const
double Getd34 () const
double Getd41 () const
double Getd23 () const
double GetQ () const
double GetI7 () const
double Geta () const
double Getb () const
double Getr () const
double GetRx () const
 Return coherency for the x-direction.
double GetRy () const
 Return coherency for the y-direction.
double GetNu () const
 The degrees of freedom used for transfer function estimation.
 MTTensor ()
 MTTensor (const std::complex< double > &xx, const std::complex< double > &xy, const std::complex< double > &yx, const std::complex< double > &yy, const double freq=1., const double angle=0.0)
MTTensoroperator= (const MTTensor &source)
virtual ~MTTensor ()

Friends

class MTStation
class C1DMTSynthData
class JParser
class EDIParser


Detailed Description

Stores MT-Tensor components at a single frequency, calculates derived quantities.

Definition at line 11 of file MTTensor.h.


Constructor & Destructor Documentation

MTTensor::MTTensor (  ) 

Definition at line 3 of file MTTensor.cpp.

MTTensor::MTTensor ( const std::complex< double > &  xx,
const std::complex< double > &  xy,
const std::complex< double > &  yx,
const std::complex< double > &  yy,
const double  freq = 1.,
const double  angle = 0.0 
)

Definition at line 20 of file MTTensor.cpp.

MTTensor::~MTTensor (  )  [virtual]

Definition at line 57 of file MTTensor.cpp.


Member Function Documentation

double MTTensor::GetdZero (  )  const [inline]

Function for Errors that cannot be calculated analytically when we don't want Jacknife errors.

Definition at line 67 of file MTTensor.h.

Referenced by SetupMTFitParameters().

void MTTensor::SetErrors ( double  dxx,
double  dxy,
double  dyx,
double  dyy 
) [inline]

Set the errors for the impedance elements.

Definition at line 69 of file MTTensor.h.

Referenced by main().

void MTTensor::Rotate ( double  angle  ) 

Rotate by the given angle in radian.

Definition at line 61 of file MTTensor.cpp.

Referenced by GetAlphaHigh(), and GetMaxPhiDiff().

double MTTensor::GetRotangle (  )  const [inline]

!return the current angle in radian

Definition at line 74 of file MTTensor.h.

double& MTTensor::SetRotangle (  )  [inline]

Set the rotation angle, without performing the corresponding rotation.

Definition at line 76 of file MTTensor.h.

double MTTensor::GetFrequency (  )  const [inline]

Get the frequency for the impedance.

Definition at line 78 of file MTTensor.h.

Referenced by MTStation::GetFrequencies(), main(), MTSampleGenerator::operator()(), PTensorMTStation::operator=(), PrintRhosZs(), and WriteToFile().

std::complex<double> MTTensor::GetZyy (  )  const [inline]

Return tensor elements.

Definition at line 80 of file MTTensor.h.

Referenced by CalcS1(), main(), and PrintComponent().

std::complex<double> MTTensor::GetZxx (  )  const [inline]

Definition at line 81 of file MTTensor.h.

Referenced by CalcS1(), main(), and PrintComponent().

std::complex<double> MTTensor::GetZxy (  )  const [inline]

Definition at line 82 of file MTTensor.h.

Referenced by main(), and PrintComponent().

std::complex<double> MTTensor::GetZyx (  )  const [inline]

Definition at line 83 of file MTTensor.h.

Referenced by main(), and PrintComponent().

std::complex<double>& MTTensor::SetZyy (  )  [inline]

Write access to tensor elements.

Definition at line 85 of file MTTensor.h.

std::complex<double>& MTTensor::SetZxx (  )  [inline]

Definition at line 86 of file MTTensor.h.

std::complex<double>& MTTensor::SetZxy (  )  [inline]

Definition at line 87 of file MTTensor.h.

std::complex<double>& MTTensor::SetZyx (  )  [inline]

Definition at line 88 of file MTTensor.h.

double MTTensor::GetdZxx (  )  const [inline]

Return tensor element errors.

Definition at line 90 of file MTTensor.h.

Referenced by PrintComponent().

double MTTensor::GetdZxy (  )  const [inline]

Definition at line 91 of file MTTensor.h.

Referenced by PrintComponent().

double MTTensor::GetdZyx (  )  const [inline]

Definition at line 92 of file MTTensor.h.

Referenced by PrintComponent().

double MTTensor::GetdZyy (  )  const [inline]

Definition at line 93 of file MTTensor.h.

Referenced by PrintComponent().

double& MTTensor::SetdZyy (  )  [inline]

Write access to errors.

Definition at line 95 of file MTTensor.h.

double& MTTensor::SetdZxx (  )  [inline]

Definition at line 96 of file MTTensor.h.

double& MTTensor::SetdZxy (  )  [inline]

Definition at line 97 of file MTTensor.h.

double& MTTensor::SetdZyx (  )  [inline]

Definition at line 98 of file MTTensor.h.

double MTTensor::GetRhoxx (  )  const [inline]

Return apparent resistivity.

Definition at line 100 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetRhoxy (  )  const [inline]

Definition at line 101 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetRhoyx (  )  const [inline]

Definition at line 102 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetRhoyy (  )  const [inline]

Definition at line 103 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetPhixx (  )  const [inline]

Return phase.

Definition at line 105 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetPhixy (  )  const [inline]

double MTTensor::GetPhiyx (  )  const [inline]

Definition at line 107 of file MTTensor.h.

Referenced by GetAlphaHigh(), GetMaxPhiDiff(), main(), and SetupMTFitParameters().

double MTTensor::GetPhiyy (  )  const [inline]

Definition at line 108 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetPhi90xx (  )  const [inline]

Return phase restricted to 0 to 90 degree range.

Definition at line 110 of file MTTensor.h.

double MTTensor::GetPhi90xy (  )  const [inline]

Definition at line 111 of file MTTensor.h.

double MTTensor::GetPhi90yx (  )  const [inline]

Definition at line 112 of file MTTensor.h.

double MTTensor::GetPhi90yy (  )  const [inline]

Definition at line 113 of file MTTensor.h.

double MTTensor::GetdRhoxx (  )  const [inline]

Return Rho Error for tensor elements.

Definition at line 115 of file MTTensor.h.

Referenced by SetupMTFitParameters().

double MTTensor::GetdRhoxy (  )  const [inline]

Definition at line 116 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetdRhoyx (  )  const [inline]

Definition at line 117 of file MTTensor.h.

Referenced by SetupMTFitParameters().

double MTTensor::GetdRhoyy (  )  const [inline]

Definition at line 118 of file MTTensor.h.

Referenced by SetupMTFitParameters().

double MTTensor::GetdPhixx (  )  const [inline]

return phase error for tensor elements

Definition at line 120 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetdPhixy (  )  const [inline]

Definition at line 121 of file MTTensor.h.

Referenced by C1DMTObjective::C1DMTObjective(), main(), and SetupMTFitParameters().

double MTTensor::GetdPhiyx (  )  const [inline]

Definition at line 122 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetdPhiyy (  )  const [inline]

Definition at line 123 of file MTTensor.h.

Referenced by main(), and SetupMTFitParameters().

double MTTensor::GetRhoxxStar (  )  const [inline]

Return Schmucker's rho* for tensor elements.

Definition at line 125 of file MTTensor.h.

double MTTensor::GetRhoxyStar (  )  const [inline]

Definition at line 126 of file MTTensor.h.

Referenced by PrintRhosZs().

double MTTensor::GetRhoyxStar (  )  const [inline]

Definition at line 127 of file MTTensor.h.

Referenced by PrintRhosZs().

double MTTensor::GetRhoyyStar (  )  const [inline]

Definition at line 128 of file MTTensor.h.

double MTTensor::GetZxxStar (  )  const [inline]

Return Schmucker's z* for tensor elements.

Definition at line 130 of file MTTensor.h.

double MTTensor::GetZxyStar (  )  const [inline]

Definition at line 131 of file MTTensor.h.

Referenced by PrintRhosZs().

double MTTensor::GetZyxStar (  )  const [inline]

Definition at line 132 of file MTTensor.h.

Referenced by PrintRhosZs().

double MTTensor::GetZyyStar (  )  const [inline]

Definition at line 133 of file MTTensor.h.

std::complex<double> MTTensor::GetS1 (  )  const [inline]

Some invariants and intermediate quantities for strike and skew calculation.

Definition at line 135 of file MTTensor.h.

Referenced by GetAlpha(), GetEta(), GetKappa(), and GetMu().

std::complex<double> MTTensor::GetS2 (  )  const [inline]

Definition at line 136 of file MTTensor.h.

Referenced by GetAlpha(), GetEta(), GetMu(), and GetSigma().

std::complex<double> MTTensor::GetD1 (  )  const [inline]

Definition at line 137 of file MTTensor.h.

Referenced by GetAlpha(), GetEta(), GetMu(), and GetSigma().

std::complex<double> MTTensor::GetD2 (  )  const [inline]

Definition at line 138 of file MTTensor.h.

Referenced by GetAlpha(), GetBerd(), GetEta(), GetKappa(), GetMu(), and GetSigma().

std::complex<double> MTTensor::GetBerd (  )  const [inline]

The Berdichevskyi invariant.

Definition at line 140 of file MTTensor.h.

References GetD2().

Referenced by GetdPhi90Berd(), GetdRhoBerd(), GetPhi90Berd(), GetRhoBerd(), and SetupMTFitParameters().

double MTTensor::GetdBerd (  )  const [inline]

The error of the Berdichevskyi invariant.

Definition at line 142 of file MTTensor.h.

Referenced by GetdPhi90Berd(), GetdRhoBerd(), and SetupMTFitParameters().

double MTTensor::GetRhoBerd (  )  const [inline]

Definition at line 143 of file MTTensor.h.

References GetBerd().

double MTTensor::GetPhi90Berd (  )  const [inline]

Definition at line 144 of file MTTensor.h.

References GetBerd().

double MTTensor::GetdRhoBerd (  )  const [inline]

Definition at line 145 of file MTTensor.h.

References GetBerd(), and GetdBerd().

double MTTensor::GetdPhi90Berd (  )  const [inline]

Definition at line 146 of file MTTensor.h.

References GetBerd(), and GetdBerd().

std::complex<double> MTTensor::GetDet (  )  const [inline]

The determinant.

Definition at line 148 of file MTTensor.h.

Referenced by SetupMTFitParameters().

double MTTensor::GetdDet (  )  const [inline]

The error of the determinant.

Definition at line 150 of file MTTensor.h.

Referenced by SetupMTFitParameters().

double MTTensor::GetDetreal (  )  const [inline]

The determinant of the real parts of Z.

Definition at line 153 of file MTTensor.h.

Referenced by GetPhi11(), GetPhi12(), GetPhi21(), GetPhi22(), and main().

double MTTensor::GetdDetreal (  )  const [inline]

Get the error of the determinant of the real part.

Definition at line 155 of file MTTensor.h.

double MTTensor::GetMu (  )  const [inline]

Rotationally invariant phase difference.

Definition at line 159 of file MTTensor.h.

References GetD1(), GetD2(), GetS1(), and GetS2().

Referenced by main().

double MTTensor::GetKappa (  )  const [inline]

Swift's skew.

Definition at line 161 of file MTTensor.h.

References GetD2(), and GetS1().

Referenced by main().

double MTTensor::GetSigma (  )  const [inline]

Definition at line 162 of file MTTensor.h.

References GetD1(), GetD2(), and GetS2().

Referenced by main().

double MTTensor::GetEta (  )  const [inline]

Bahr's skew.

Definition at line 164 of file MTTensor.h.

References GetD1(), GetD2(), GetS1(), and GetS2().

Referenced by main().

double MTTensor::GetAlpha (  )  const [inline]

Definition at line 167 of file MTTensor.h.

References GetD1(), GetD2(), GetS1(), and GetS2().

Referenced by GetAlphaHigh(), GetMaxPhiDiff(), main(), and SetupMTFitParameters().

double MTTensor::GetAlphaHigh (  )  const [inline]

Calculate strike angle, so it points to high conductivity direction (Phixy > Phiyx).

Definition at line 175 of file MTTensor.h.

References GetAlpha(), GetPhixy(), GetPhiyx(), and Rotate().

double MTTensor::GetMaxPhiDiff (  )  const [inline]

Maximum phase difference.

Definition at line 184 of file MTTensor.h.

References GetAlpha(), GetPhixy(), GetPhiyx(), and Rotate().

double MTTensor::GetPhi11 (  )  const [inline]

All the following quantities are defined in Caldwell GJI 158, 457-469, the phase tensor elements.

Definition at line 190 of file MTTensor.h.

References GetDetreal().

Referenced by GetAlpha_phi(), GetBeta_phi(), GetdetPhi(), GetPi1(), GetPi2(), GettrPhi(), main(), PTensorMTStation::operator=(), PTensor1DMTObjective::SafeParallel(), and SetupMTFitParameters().

double MTTensor::GetPhi12 (  )  const [inline]

double MTTensor::GetPhi21 (  )  const [inline]

double MTTensor::GetPhi22 (  )  const [inline]

double MTTensor::GetAlpha_phi (  )  const [inline]

Definition at line 214 of file MTTensor.h.

References GetPhi11(), GetPhi12(), GetPhi21(), and GetPhi22().

Referenced by GetPhiStrike(), main(), and SetupMTFitParameters().

double MTTensor::GetBeta_phi (  )  const [inline]

Definition at line 220 of file MTTensor.h.

References GetPhi11(), GetPhi12(), GetPhi21(), and GetPhi22().

Referenced by GetPhiStrike(), main(), and SetupMTFitParameters().

double MTTensor::GetPi1 (  )  const [inline]

Definition at line 222 of file MTTensor.h.

References GetPhi11(), GetPhi12(), GetPhi21(), and GetPhi22().

Referenced by GetPhiMax(), GetPhiMin(), and main().

double MTTensor::GetPi2 (  )  const [inline]

Definition at line 223 of file MTTensor.h.

References GetPhi11(), GetPhi12(), GetPhi21(), and GetPhi22().

Referenced by GetPhiMax(), GetPhiMin(), and main().

double MTTensor::GetPhiStrike (  )  const [inline]

Definition at line 224 of file MTTensor.h.

References GetAlpha_phi(), and GetBeta_phi().

Referenced by main().

double MTTensor::GetPhiMax (  )  const [inline]

Definition at line 225 of file MTTensor.h.

References GetPi1(), and GetPi2().

Referenced by GetPhiEllip(), main(), and SetupMTFitParameters().

double MTTensor::GetPhiMin (  )  const [inline]

Definition at line 226 of file MTTensor.h.

References GetPi1(), and GetPi2().

Referenced by GetPhiEllip(), main(), and SetupMTFitParameters().

double MTTensor::GettrPhi (  )  const [inline]

Definition at line 227 of file MTTensor.h.

References GetPhi11(), and GetPhi22().

Referenced by GetPhi1(), and main().

double MTTensor::GetskPhi (  )  const [inline]

Definition at line 228 of file MTTensor.h.

References GetPhi12(), and GetPhi21().

Referenced by GetPhi3(), and main().

double MTTensor::GetdetPhi (  )  const [inline]

Definition at line 229 of file MTTensor.h.

References GetPhi11(), GetPhi12(), GetPhi21(), and GetPhi22().

Referenced by GetPhi2(), GetPhi2Sq(), and main().

double MTTensor::GetPhi1 (  )  const [inline]

Definition at line 230 of file MTTensor.h.

References GettrPhi().

Referenced by main().

double MTTensor::GetPhi2 (  )  const [inline]

Definition at line 231 of file MTTensor.h.

References GetdetPhi().

Referenced by main().

double MTTensor::GetPhi2Sq (  )  const [inline]

Definition at line 232 of file MTTensor.h.

References GetdetPhi().

double MTTensor::GetPhi3 (  )  const [inline]

Definition at line 233 of file MTTensor.h.

References GetskPhi().

Referenced by main().

double MTTensor::GetPhiEllip (  )  const [inline]

Definition at line 234 of file MTTensor.h.

References GetPhiMax(), and GetPhiMin().

Referenced by main().

double MTTensor::GetXi1 (  )  const [inline]

Definition at line 237 of file MTTensor.h.

Referenced by Getd12(), Getd13(), Getd41(), GetI1(), GetI5(), and GetI6().

double MTTensor::GetXi2 (  )  const [inline]

Definition at line 238 of file MTTensor.h.

Referenced by Getd12(), Getd23(), Getd24(), and GetI3().

double MTTensor::GetXi3 (  )  const [inline]

Definition at line 239 of file MTTensor.h.

Referenced by Getd13(), Getd23(), Getd34(), and