36#ifndef LIBCORR3DMODEL_OBJECT_H
37#define LIBCORR3DMODEL_OBJECT_H
53#include "GeoTessUtils.h"
54#include "GeoTessException.h"
55#include "GeoTessModel.h"
68class GeoTessInterpolatorType;
137 double staPosition[3];
140 string supportedPhases;
144 string baseModelVersion;
152 vector<float> bmUncDist;
153 vector<float> bmUncValu;
161 void loadExtraData(IFStreamBinary& input);
166 void loadModelBinaryLibCorr2D(IFStreamBinary& input,
167 const string& inputDirectory,
const string& relGridFilePath);
177 virtual void loadModelBinary(IFStreamBinary& input,
178 const string& inputDirectory,
const string& relGridFilePath);
180 virtual void writeModelBinary(IFStreamBinary& output,
const string& gridFileName);
186 virtual void loadModelAscii(IFStreamAscii& input,
const string& inputDirectory,
187 const string& relGridFilePath);
189 virtual void writeModelAscii(IFStreamAscii& output,
const string& gridFileName);
222 vector<int>& attributeFilter,
233 bool operator ==(
const GeoTessModel& m)
const;
238 bool operator != (
const GeoTessModel& other)
const {
return !(*
this == other); } ;
261 LONG_INT memory = (LONG_INT)(
sizeof(
LibCorr3DModel)-
sizeof(GeoTessModel));
263 memory += GeoTessModel::getMemory();
265 memory += (LONG_INT) (sta.length() + staRefsta.length() + phase.length() + parameters.length()
266 + comments.length() + baseModel.length() + baseModelVersion.length()
267 + supportedPhases.length() + staName.length() + staType.length());
269 memory += (LONG_INT)(7 *
sizeof(
double));
271 memory += (LONG_INT)(2 *
sizeof(
int));
273 memory += (LONG_INT)((bmUncDist.capacity() + bmUncValu.capacity()) *
sizeof(
float));
298 return bmUncDist.size() == 0;
316 return metaData->getInputModelFile();
334 const double& ontime,
const double& offtime,
335 const double& lat,
const double& lon,
const double& depth,
336 const string& staname,
const string& statype,
337 const string& refsta,
338 const double& dnorth,
const double& deast
343 staOffTime = offtime;
352 GeoTessUtils::getVectorDegrees(staLat, staLon, staPosition);
467 map<string, string>::const_iterator it = metaData->getProperties().find(
"vmodel");
468 if (it == metaData->getProperties().end())
Definition: LibCorr3D.h:62
This is a LibCorr3D extension of the GeoTessModel for use by LibCorr3D.
Definition: LibCorr3DModel.h:85
double getDnorth() const
Definition: LibCorr3DModel.h:413
const string & getStaType() const
Definition: LibCorr3DModel.h:403
double getStationElevation() const
Definition: LibCorr3DModel.h:388
const string & getStaName() const
Definition: LibCorr3DModel.h:398
const string & getComments() const
Definition: LibCorr3DModel.h:448
const string & getBaseModelVersion() const
Definition: LibCorr3DModel.h:462
virtual ~LibCorr3DModel()
Destructor.
virtual LONG_INT getMemory()
Return the amount of memory currently occupied by this LibCorr3DModel object NOT INCLUDING THE GRIDS.
Definition: LibCorr3DModel.h:259
double interpolate2DModelUncertainty(const double *pos)
Calculates the old 2D model uncertainty if this model was loaded as such.
double getStationLatitude() const
Definition: LibCorr3DModel.h:373
void setStationInfo(const string &name, const double &ontime, const double &offtime, const double &lat, const double &lon, const double &depth, const string &staname, const string &statype, const string &refsta, const double &dnorth, const double &deast)
Set station information.
Definition: LibCorr3DModel.h:333
bool is3DModel()
Returns true if this model is a LibCorr3D model derived off of GeoTessModel.
Definition: LibCorr3DModel.h:296
LibCorr3DModel(const string &filename, const string &relGridFilePath="", int handle=-1)
Standard constructor.
virtual string class_name()
Returns the class name.
Definition: LibCorr3DModel.h:243
LibCorr3DModel(const string &filename, const string &relGridFilePath, vector< int > &attributeFilter, int handle)
Standard constructor.
const string & getSupportedPhaseList() const
Definition: LibCorr3DModel.h:431
double getStationDepth() const
Definition: LibCorr3DModel.h:383
string getVmodel() const
Definition: LibCorr3DModel.h:466
const double * getStationPosition() const
Definition: LibCorr3DModel.h:393
void setBaseModelVersion(const string &bmv)
Definition: LibCorr3DModel.h:464
double getStationEndTime() const
Definition: LibCorr3DModel.h:368
double getDeasts() const
Definition: LibCorr3DModel.h:418
void setComments(const string &com)
Definition: LibCorr3DModel.h:450
void setPhase(const string &ph)
Definition: LibCorr3DModel.h:426
const string & getStationName() const
Definition: LibCorr3DModel.h:358
void setParameters(const string &par)
Definition: LibCorr3DModel.h:443
const string & getPhase() const
Definition: LibCorr3DModel.h:424
void setBaseModel(const string &bm)
Definition: LibCorr3DModel.h:457
double getStationLongitude() const
Definition: LibCorr3DModel.h:378
virtual string toString()
void setSupportedPhaseList(const string &ph)
Set the list of supported phases, formatted like this: Pg, Pn, P.
Definition: LibCorr3DModel.h:436
const string & getFileName() const
Return the file name string associated with this model.
Definition: LibCorr3DModel.h:314
const string & getRefsta() const
Definition: LibCorr3DModel.h:408
const string & getParameters() const
Definition: LibCorr3DModel.h:441
const string & getBaseModel() const
Definition: LibCorr3DModel.h:455
int getHandle() const
Return the handle associated with this model.
Definition: LibCorr3DModel.h:285
double getStationStartTime() const
Definition: LibCorr3DModel.h:363