FEMTIC
Classes | Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ObservedDataStationMT Class Reference

#include <ObservedDataStationMT.h>

Inheritance diagram for ObservedDataStationMT:
Inheritance graph
[legend]
Collaboration diagram for ObservedDataStationMT:
Collaboration graph
[legend]

Classes

struct  DistortionMatrixDifferences
 
struct  GainsAndRotations
 

Public Types

enum  ImpedanceTensorComponent { XX = 0 , XY , YX , YY }
 
enum  ComponentIDOfDistortionMatrix { COMPONENT_ID_CXX = 0 , COMPONENT_ID_CXY , COMPONENT_ID_CYX , COMPONENT_ID_CYY }
 
enum  ComponentIDOfGainsAndRotations { EX_GAIN = 0 , EY_GAIN , EX_ROTATION , EY_ROTATION }
 

Public Member Functions

 ObservedDataStationMT ()
 
virtual ~ObservedDataStationMT ()
 
virtual void inputObservedData (std::ifstream &inFile)
 
void calculateElectricField (const Forward3D *const ptrForward3D, const int rhsVectorIDOfEx, const int rhsVectorIDOfEy)
 
void calculateImpedanceTensor (const double freq, const ObservedDataStationPoint *const ptrStationOfMagneticField, int &icount)
 
void initializeElectricField (const int iPol)
 
void initializeImpedanceTensorsAndErrors ()
 
virtual void allocateMemoryForCalculatedValues ()
 
virtual void outputCalculatedValues () const
 
void calcInterpolatorVectorOfElectricField (Forward3D *const ptrForward3D)
 
virtual void calculateSensitivityMatrix (const double freq, const int nModel, const ObservedDataStationPoint *const ptrStationOfMagneticField, const std::complex< double > *const derivativesOfEMFieldExPol, const std::complex< double > *const derivativesOfEMFieldEyPol, double *const sensitivityMatrix, const bool forceSDToOne=false) const
 
virtual void calculateResidualVectorOfDataThisPE (const double freq, const int offset, double *vector) const
 
virtual double calculateErrorSumOfSquaresThisPE () const
 
void copyDistortionParamsCurToPre (const int iComp)
 
bool doesFixDistortionMatrix () const
 Get flag specifing whether distortion matrix are fixed or not. More...
 
int getTypeOfElectricField () const
 
void setFixDistortionMatrix (const bool doesFix)
 
void setTypeOfElectricField (const int type)
 
void setDistortionParamsPre (const int iComp, const double val)
 
void setDistortionParams (const int iComp, const double val)
 
void setIDOfDistortionParams (const int iComp, const int ID)
 
void setDistortionParamsUpdatedFull (const int iComp, const double val)
 
void updateDistortionParams (const double dampingFactor)
 
double getDistortionParamsPre (const int iComp) const
 
double getDistortionParams (const int iComp) const
 
int getIDOfDistortionParams (const int iComp) const
 
double getDistortionParamsUpdatedFull (const int iComp) const
 
- Public Member Functions inherited from ObservedDataStationPoint
 ObservedDataStationPoint ()
 
 ~ObservedDataStationPoint ()
 
void findElementIncludingStation ()
 
std::complex< double > getHxCalculated (const int iPol) const
 
std::complex< double > getHyCalculated (const int iPol) const
 
int getRhsVectorIDOfHx () const
 
int getRhsVectorIDOfHy () const
 
void calculateHorizontalMagneticField (const Forward3D *const ptrForward3D, const int rhsVectorIDOfHx, const int rhsVectorIDOfHy)
 
void initializeHorizontalMagneticField (const int iPol)
 
void calcInterpolatorVectorOfHorizontalMagneticField (Forward3D *const ptrForward3D)
 
const CommonParameters::locationXYgetLocationOfPoint () const
 
double getZCoordOfPoint () const
 
bool useUpperElementForInterpolationOfEMField () const
 
void setFlagUseUpperElementForInterpolationOfEMField (const bool useUpperElem)
 
- Public Member Functions inherited from ObservedDataStation
 ObservedDataStation ()
 
 ~ObservedDataStation ()
 
int getStationID () const
 
int getIDOfMagneticFieldStation () const
 
int getTotalNumberOfFrequency () const
 
double getFrequencyValues (const int num) const
 
int getFreqIDs (const double freq) const
 
void setupFrequenciesCalculatedByThisPE (const int nFreqCalculatedByThisPE, const double *freqCalculatedByThisPE)
 
int getFreqIDsAmongThisPE (const double freq) const
 

Protected Attributes

std::complex< double > * m_ZxxObserved
 
std::complex< double > * m_ZxyObserved
 
std::complex< double > * m_ZyxObserved
 
std::complex< double > * m_ZyyObserved
 
CommonParameters::DoubleComplexValuesm_ZxxSD
 
CommonParameters::DoubleComplexValuesm_ZxySD
 
CommonParameters::DoubleComplexValuesm_ZyxSD
 
CommonParameters::DoubleComplexValuesm_ZyySD
 
std::complex< double > * m_ZxxCalculated
 
std::complex< double > * m_ZxyCalculated
 
std::complex< double > * m_ZyxCalculated
 
std::complex< double > * m_ZyyCalculated
 
CommonParameters::DoubleComplexValuesm_ZxxResidual
 
CommonParameters::DoubleComplexValuesm_ZxyResidual
 
CommonParameters::DoubleComplexValuesm_ZyxResidual
 
CommonParameters::DoubleComplexValuesm_ZyyResidual
 
CommonParameters::InitComplexValuesm_dataIDOfZxx
 
CommonParameters::InitComplexValuesm_dataIDOfZxy
 
CommonParameters::InitComplexValuesm_dataIDOfZyx
 
CommonParameters::InitComplexValuesm_dataIDOfZyy
 
DistortionMatrixDifferencesm_arrayDistortionMatrixDifferences
 
GainsAndRotationsm_arrayGainsAndRotations
 
- Protected Attributes inherited from ObservedDataStationPoint
CommonParameters::locationXY m_location
 
int m_elementIncludingStation
 
int m_faceIncludingStation
 
bool m_useUpperElementForInterpolationOfEMField
 
CommonParameters::locationXYZ m_localCoordinateValues
 
CommonParameters::VolumeCoords m_volumeCoordinateValues
 
CommonParameters::AreaCoords m_areaCoordinateValues
 
std::complex< double > m_HxCalculated [2]
 
std::complex< double > m_HyCalculated [2]
 
int m_rhsVectorIDOfHx
 
int m_rhsVectorIDOfHy
 
- Protected Attributes inherited from ObservedDataStation
int m_stationID
 
int m_IDOfMagneticFieldStation
 
int m_numOfFrequency
 
double * m_freq
 
int m_numOfFreqCalculatedByThisStaAndPE
 
std::vector< int > m_freqIDsAmongThisStationCalculatedByThisPE
 

Private Member Functions

 ObservedDataStationMT (const ObservedDataStationMT &rhs)
 
ObservedDataStationMToperator= (const ObservedDataStationMT &rhs)
 

Private Attributes

std::complex< double > m_ExCalculated [2]
 
std::complex< double > m_EyCalculated [2]
 
int m_rhsVectorIDOfEx
 
int m_rhsVectorIDOfEy
 
bool m_fixDistortionMatrix
 
int m_typeOfElectricField
 

Member Enumeration Documentation

◆ ComponentIDOfDistortionMatrix

Enumerator
COMPONENT_ID_CXX 
COMPONENT_ID_CXY 
COMPONENT_ID_CYX 
COMPONENT_ID_CYY 

◆ ComponentIDOfGainsAndRotations

Enumerator
EX_GAIN 
EY_GAIN 
EX_ROTATION 
EY_ROTATION 

◆ ImpedanceTensorComponent

Enumerator
XX 
XY 
YX 
YY 

Constructor & Destructor Documentation

◆ ObservedDataStationMT() [1/2]

ObservedDataStationMT::ObservedDataStationMT ( )
explicit

◆ ~ObservedDataStationMT()

ObservedDataStationMT::~ObservedDataStationMT ( )
virtual

◆ ObservedDataStationMT() [2/2]

ObservedDataStationMT::ObservedDataStationMT ( const ObservedDataStationMT rhs)
private

Member Function Documentation

◆ allocateMemoryForCalculatedValues()

void ObservedDataStationMT::allocateMemoryForCalculatedValues ( )
virtual

◆ calcInterpolatorVectorOfElectricField()

void ObservedDataStationMT::calcInterpolatorVectorOfElectricField ( Forward3D *const  ptrForward3D)

◆ calculateElectricField()

void ObservedDataStationMT::calculateElectricField ( const Forward3D *const  ptrForward3D,
const int  rhsVectorIDOfEx,
const int  rhsVectorIDOfEy 
)

◆ calculateErrorSumOfSquaresThisPE()

double ObservedDataStationMT::calculateErrorSumOfSquaresThisPE ( ) const
virtual

◆ calculateImpedanceTensor()

void ObservedDataStationMT::calculateImpedanceTensor ( const double  freq,
const ObservedDataStationPoint *const  ptrStationOfMagneticField,
int &  icount 
)

◆ calculateResidualVectorOfDataThisPE()

void ObservedDataStationMT::calculateResidualVectorOfDataThisPE ( const double  freq,
const int  offset,
double *  vector 
) const
virtual

◆ calculateSensitivityMatrix()

void ObservedDataStationMT::calculateSensitivityMatrix ( const double  freq,
const int  nModel,
const ObservedDataStationPoint *const  ptrStationOfMagneticField,
const std::complex< double > *const  derivativesOfEMFieldExPol,
const std::complex< double > *const  derivativesOfEMFieldEyPol,
double *const  sensitivityMatrix,
const bool  forceSDToOne = false 
) const
virtual

◆ copyDistortionParamsCurToPre()

void ObservedDataStationMT::copyDistortionParamsCurToPre ( const int  iComp)

◆ doesFixDistortionMatrix()

bool ObservedDataStationMT::doesFixDistortionMatrix ( ) const

Get flag specifing whether distortion matrix are fixed or not.

◆ getDistortionParams()

double ObservedDataStationMT::getDistortionParams ( const int  iComp) const

◆ getDistortionParamsPre()

double ObservedDataStationMT::getDistortionParamsPre ( const int  iComp) const

◆ getDistortionParamsUpdatedFull()

double ObservedDataStationMT::getDistortionParamsUpdatedFull ( const int  iComp) const

◆ getIDOfDistortionParams()

int ObservedDataStationMT::getIDOfDistortionParams ( const int  iComp) const

◆ getTypeOfElectricField()

int ObservedDataStationMT::getTypeOfElectricField ( ) const

◆ initializeElectricField()

void ObservedDataStationMT::initializeElectricField ( const int  iPol)

◆ initializeImpedanceTensorsAndErrors()

void ObservedDataStationMT::initializeImpedanceTensorsAndErrors ( )

◆ inputObservedData()

void ObservedDataStationMT::inputObservedData ( std::ifstream &  inFile)
virtual

◆ operator=()

ObservedDataStationMT& ObservedDataStationMT::operator= ( const ObservedDataStationMT rhs)
private

◆ outputCalculatedValues()

void ObservedDataStationMT::outputCalculatedValues ( ) const
virtual

◆ setDistortionParams()

void ObservedDataStationMT::setDistortionParams ( const int  iComp,
const double  val 
)

◆ setDistortionParamsPre()

void ObservedDataStationMT::setDistortionParamsPre ( const int  iComp,
const double  val 
)

◆ setDistortionParamsUpdatedFull()

void ObservedDataStationMT::setDistortionParamsUpdatedFull ( const int  iComp,
const double  val 
)

◆ setFixDistortionMatrix()

void ObservedDataStationMT::setFixDistortionMatrix ( const bool  doesFix)

◆ setIDOfDistortionParams()

void ObservedDataStationMT::setIDOfDistortionParams ( const int  iComp,
const int  ID 
)

◆ setTypeOfElectricField()

void ObservedDataStationMT::setTypeOfElectricField ( const int  type)

◆ updateDistortionParams()

void ObservedDataStationMT::updateDistortionParams ( const double  dampingFactor)

Member Data Documentation

◆ m_arrayDistortionMatrixDifferences

DistortionMatrixDifferences* ObservedDataStationMT::m_arrayDistortionMatrixDifferences
protected

◆ m_arrayGainsAndRotations

GainsAndRotations* ObservedDataStationMT::m_arrayGainsAndRotations
protected

◆ m_dataIDOfZxx

CommonParameters::InitComplexValues* ObservedDataStationMT::m_dataIDOfZxx
protected

◆ m_dataIDOfZxy

CommonParameters::InitComplexValues* ObservedDataStationMT::m_dataIDOfZxy
protected

◆ m_dataIDOfZyx

CommonParameters::InitComplexValues* ObservedDataStationMT::m_dataIDOfZyx
protected

◆ m_dataIDOfZyy

CommonParameters::InitComplexValues* ObservedDataStationMT::m_dataIDOfZyy
protected

◆ m_ExCalculated

std::complex<double> ObservedDataStationMT::m_ExCalculated[2]
private

◆ m_EyCalculated

std::complex<double> ObservedDataStationMT::m_EyCalculated[2]
private

◆ m_fixDistortionMatrix

bool ObservedDataStationMT::m_fixDistortionMatrix
private

◆ m_rhsVectorIDOfEx

int ObservedDataStationMT::m_rhsVectorIDOfEx
private

◆ m_rhsVectorIDOfEy

int ObservedDataStationMT::m_rhsVectorIDOfEy
private

◆ m_typeOfElectricField

int ObservedDataStationMT::m_typeOfElectricField
private

◆ m_ZxxCalculated

std::complex<double>* ObservedDataStationMT::m_ZxxCalculated
protected

◆ m_ZxxObserved

std::complex<double>* ObservedDataStationMT::m_ZxxObserved
protected

◆ m_ZxxResidual

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZxxResidual
protected

◆ m_ZxxSD

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZxxSD
protected

◆ m_ZxyCalculated

std::complex<double>* ObservedDataStationMT::m_ZxyCalculated
protected

◆ m_ZxyObserved

std::complex<double>* ObservedDataStationMT::m_ZxyObserved
protected

◆ m_ZxyResidual

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZxyResidual
protected

◆ m_ZxySD

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZxySD
protected

◆ m_ZyxCalculated

std::complex<double>* ObservedDataStationMT::m_ZyxCalculated
protected

◆ m_ZyxObserved

std::complex<double>* ObservedDataStationMT::m_ZyxObserved
protected

◆ m_ZyxResidual

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZyxResidual
protected

◆ m_ZyxSD

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZyxSD
protected

◆ m_ZyyCalculated

std::complex<double>* ObservedDataStationMT::m_ZyyCalculated
protected

◆ m_ZyyObserved

std::complex<double>* ObservedDataStationMT::m_ZyyObserved
protected

◆ m_ZyyResidual

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZyyResidual
protected

◆ m_ZyySD

CommonParameters::DoubleComplexValues* ObservedDataStationMT::m_ZyySD
protected

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