24 #ifndef DBLDEF_OBSERVED_DATA
25 #define DBLDEF_OBSERVED_DATA
97 void calculateSensitivityMatrix(
const std::complex<double>*
const derivativesOfEMFieldExPol,
const std::complex<double>*
const derivativesOfEMFieldEyPol,
98 const double freq,
const int nModel,
double*
const sensitivityMatrix )
const;
Definition: AdditinalOutputPoint.h:34
Definition: Forward3D.h:37
Definition: ObservedDataStationApparentResistivityAndPhase.h:36
Definition: ObservedDataStationHTF.h:36
Definition: ObservedDataStationMT.h:36
Definition: ObservedDataStationNMT2ApparentResistivityAndPhase.h:36
Definition: ObservedDataStationNMT2.h:37
Definition: ObservedDataStationNMT.h:37
Definition: ObservedDataStationPT.h:36
Definition: ObservedDataStationPoint.h:33
Definition: ObservedDataStationVTF.h:36
Definition: ObservedData.h:45
void calculateEMFieldOfAllStations(const Forward3D *const ptrForward3D, const double freq, const int iPol, const int ifreq)
Definition: ObservedData.cpp:1029
ObservedData(const ObservedData &rhs)
int getNumInterpolatorVectors() const
Definition: ObservedData.cpp:1635
void calcDistortionParamsUpdatedFullFromIncrements(const double *const distortionParamIncre)
Definition: ObservedData.cpp:2037
ObservedDataStationNMT * m_observedStationNMT
Definition: ObservedData.h:258
int * m_numObservedDataThisPEAccumulated
Definition: ObservedData.h:270
double getFrequencyValue(const int num) const
Definition: ObservedData.cpp:681
void copyDistortionParamsNotFixedToVector(double *vector) const
Definition: ObservedData.cpp:1957
void copyDistortionParamsNotFixedPreToVector(double *vector) const
Definition: ObservedData.cpp:1985
void updateDistortionParams()
Definition: ObservedData.cpp:2094
void inputObservedData()
Definition: ObservedData.cpp:155
int m_numAllStations
Definition: ObservedData.h:192
void calcNumDistortionParamsNotFixed()
Definition: ObservedData.cpp:878
double calculateSumSquareOfDistortionMatrixRotations() const
Definition: ObservedData.cpp:1922
void outputInductionArrowToVtk(const int iterNum) const
Definition: ObservedData.cpp:2417
ObservedDataStationPoint * getInstanceOfMagneticStation(const int IDOfMagSta) const
Definition: ObservedData.cpp:829
int m_numStationsNMT2
Definition: ObservedData.h:213
int incrementNumInterpolatorVectors()
Definition: ObservedData.cpp:1674
void outputLocationsOfObservedStationsToVtk() const
Definition: ObservedData.cpp:2188
int getNumObservedDataThisPE(const int ifreq) const
Definition: ObservedData.cpp:1645
int getTotalNumberOfDifferenetFrequencies() const
Definition: ObservedData.cpp:674
int getNumObservedDataThisPEAccumulated(const int num) const
Definition: ObservedData.cpp:1660
int m_numStationsVTF
Definition: ObservedData.h:204
ObservedDataStationVTF * m_observedStationVTF
Definition: ObservedData.h:252
double * m_valuesOfFrequenciesCalculatedByThisPE
Definition: ObservedData.h:240
void calculateInterpolatorVectors(Forward3D *const ptrForward3D, const double freq)
Definition: ObservedData.cpp:1444
int m_numInterpolatorVectors
Definition: ObservedData.h:222
std::map< int, int > m_stationID2IDAmongEachStationType
Definition: ObservedData.h:228
void initializeResponseFunctionsAndErrorsOfAllStations()
Definition: ObservedData.cpp:1203
ObservedDataStationApparentResistivityAndPhase * m_observedStationApparentResistivityAndPhase
Definition: ObservedData.h:246
bool isUseMagneticFieldOfTheStation(const double freq, const int staID)
Definition: ObservedData.cpp:758
int m_numStationsNMT
Definition: ObservedData.h:210
void calculateResponseFunctionOfAllStations(const int freqIDAmongThisPE)
Definition: ObservedData.cpp:1144
void multiplyMatrixByScaledData(const int nRow, const double *const matIn, const double *const vecIn, double *vecOut) const
void outputCalculatedValuesOfAllStations() const
Definition: ObservedData.cpp:1302
int * m_IDsOfFrequenciesCalculatedByThisPE
Definition: ObservedData.h:237
void outputDistortionParams(const int iterNum) const
Definition: ObservedData.cpp:2109
int getIDsOfFrequenciesCalculatedByThisPE(const int num) const
Definition: ObservedData.cpp:1789
ObservedData & operator=(const ObservedData &rhs)
int getNumDistortionParamsNotFixed() const
Definition: ObservedData.cpp:1943
ObservedDataStationMT * m_observedStationMT
Definition: ObservedData.h:243
ObservedDataStationPT * m_observedStationPT
Definition: ObservedData.h:255
int m_numStationsApparentResistivityAndPhase
Definition: ObservedData.h:198
AdditinalOutputPoint * m_additinalOutputPoint
Definition: ObservedData.h:267
void calculateResidualVectorOfDataThisPE(double *const vector) const
Definition: ObservedData.cpp:1583
typeID
Definition: ObservedData.h:52
@ VTF
Definition: ObservedData.h:55
@ NMT2_APP_RES_AND_PHS
Definition: ObservedData.h:60
@ APP_RES_AND_PHS
Definition: ObservedData.h:59
@ PT
Definition: ObservedData.h:56
@ NMT
Definition: ObservedData.h:57
@ NMT2
Definition: ObservedData.h:58
@ HTF
Definition: ObservedData.h:54
@ MT
Definition: ObservedData.h:53
static ObservedData * getInstance()
Definition: ObservedData.cpp:44
double calculateErrorSumOfSquaresThisPE() const
Definition: ObservedData.cpp:1816
void calcFrequenciesCalculatedByThisPE()
Definition: ObservedData.cpp:1679
int getNumObservedDataThisPETotal() const
Definition: ObservedData.cpp:1640
int getNumOfFrequenciesCalculatedByThisPE() const
Definition: ObservedData.cpp:1784
std::vector< int > m_typesOfDistortionParamsNotFixed
Definition: ObservedData.h:273
std::map< int, int > m_stationID2type
Definition: ObservedData.h:225
int m_numAdditinalOutputPoint
Definition: ObservedData.h:219
ObservedDataStationHTF * m_observedStationHTF
Definition: ObservedData.h:249
void copyDistortionParamsCurToPre() const
Definition: ObservedData.cpp:2011
int m_numStationsNMT2ApparentResistivityAndPhase
Definition: ObservedData.h:216
std::vector< double > m_frequencyAll
Definition: ObservedData.h:231
double calculateSumSquareOfDistortionMatrixComplexity() const
Definition: ObservedData.cpp:1863
double calculateSumSquareOfDistortionMatrixGains() const
Definition: ObservedData.cpp:1892
ObservedDataStationNMT2ApparentResistivityAndPhase * m_observedStationNMT2ApparentResistivityAndPhase
Definition: ObservedData.h:264
void allocateMemoryForCalculatedValuesOfAllStations()
Definition: ObservedData.cpp:1244
ObservedData()
Definition: ObservedData.cpp:50
~ObservedData()
Definition: ObservedData.cpp:82
double getValuesOfFrequenciesCalculatedByThisPE(const int num) const
Definition: ObservedData.cpp:1803
int getTypesOfDistortionParamsNotFixed(const int iParamsNotFixed) const
Definition: ObservedData.cpp:1950
int m_numStationsHTF
Definition: ObservedData.h:201
void findElementIncludingEachStation()
Definition: ObservedData.cpp:695
int m_numStationsMT
Definition: ObservedData.h:195
void calculateSensitivityMatrix(const std::complex< double > *const derivativesOfEMFieldExPol, const std::complex< double > *const derivativesOfEMFieldEyPol, const double freq, const int nModel, double *const sensitivityMatrix) const
Definition: ObservedData.cpp:1513
void checkAndAddNewFrequency(const double freq)
Definition: ObservedData.cpp:737
ObservedDataStationNMT2 * m_observedStationNMT2
Definition: ObservedData.h:261
int getFreqIDs(const double freq) const
Definition: ObservedData.cpp:2526
void inputDistortionMatrixData()
Definition: ObservedData.cpp:494
int m_numOfFrequenciesCalculatedByThisPE
Definition: ObservedData.h:234
int m_numStationsPT
Definition: ObservedData.h:207