RSTT 3.2.1 Regional Seismic Travel Time

Loading...
Searching...
No Matches
slbm::GeoTessModelSLBM Class Reference

`#include <GeoTessModelSLBM.h>`

Inheritance diagram for slbm::GeoTessModelSLBM:

## Public Member Functions
| GeoTessModelSLBM ()
| GeoTessModelSLBM (const string &modelInputFile)
| GeoTessModelSLBM (const string &modelInputFile, const string &relativeGridPath)
| GeoTessModelSLBM (const string &gridFileName, GeoTessMetaData *metaData)
| GeoTessModelSLBM (GeoTessGrid *grid, GeoTessMetaData *metaData)
virtual bool | operator== (const GeoTessModelSLBM &other) const
virtual bool | operator!= (const GeoTessModelSLBM &other) const
virtual | ~GeoTessModelSLBM ()
virtual string | class_name ()
bool | isPathDepUncModel ()
int | getFileFormatVersion ()
double | getAverageMantleVelocity (const int &index) const
void | setAverageMantleVelocity (const int &index, const double &velocity)
const vector< vector< UncertaintyPIU * > > & | getPIU () const
vector< UncertaintyPDU * > & | getPDU ()
int | getBufferSize ()
string | toString ()

## Protected Member Functions
virtual void | loadModelAscii (IFStreamAscii &input, const string &inputDirectory, const string &relGridFilePath)
virtual void | loadModelBinary (IFStreamBinary &input, const string &inputDirectory, const string &relGridFilePath)
virtual void | writeModelAscii (IFStreamAscii &output, const string &gridFileName)
virtual void | writeModelBinary (IFStreamBinary &output, const string &gridFileName)

## Detailed Description

This is an SLBM extension of GeoTessModel for use by SLBM. Specific capabilities, beyond those of the base class, are management of the average mantle P and S velocity values required by SLBM and management of Uncertainty information for phases Pn, Sn, Pg and Lg for attributes TT, SH and AZ.

Definition at line 83 of file GeoTessModelSLBM.h.

## Constructor & Destructor Documentation

## ◆ GeoTessModelSLBM() [1/5]

slbm::GeoTessModelSLBM::GeoTessModelSLBM | ( |  | ) |

Default constructor.

## ◆ GeoTessModelSLBM() [2/5]

slbm::GeoTessModelSLBM::GeoTessModelSLBM | ( | const string & | modelInputFile | ) |

Construct a new GeoTessModel object and populate it with information from the specified file.

Parameters

  modelInputFile | name of file containing the model.

## ◆ GeoTessModelSLBM() [3/5]

slbm::GeoTessModelSLBM::GeoTessModelSLBM | ( | const string & | modelInputFile,
|  | const string & | relativeGridPath )

Construct a new GeoTessModel object and populate it with information from the specified file.

Parameters

  modelInputFile | name of file containing the model.
  relativeGridPath | the relative path from the directory where the model is stored to the directory where the grid is stored. Often, the model and grid are stored together in the same file in which case this parameter is ignored. Sometimes, however, the grid is stored in a separate file and only the name of the grid file (without path information) is stored in the model file. In this case, the code needs to know which directory to search for the grid file. The default is "" (empty string), which will cause the code to search for the grid file in the same directory in which the model file resides. Bottom line is that the default value is appropriate when the grid is stored in the same file as the model, or the model file is in the same directory as the model file.

## ◆ GeoTessModelSLBM() [4/5]

slbm::GeoTessModelSLBM::GeoTessModelSLBM | ( | const string & | gridFileName,
|  | GeoTessMetaData * | metaData )

Parameterized constructor, specifying the grid and metadata for the model. The grid is constructed and the data structures are initialized based on information supplied in metadata. The data structures are not populated with any information however (all Profiles are null). The application should populate the new model's Profiles after this constructor completes.

Before calling this constructor, the supplied MetaData object must be populated with required information by calling the following MetaData methods:

- setDescription()
- setLayerNames()
- setAttributes()
- setDataType()
- setLayerTessIds() (only required if grid has more than one multi-level tessellation)

Parameters

  gridFileName | name of file from which to load the grid.
  metaData | MetaData the new GeoTessModel instantiates a reference to the supplied metaData. No copy is made.

Exceptions

  GeoTessException | if metadata is incomplete.

## ◆ GeoTessModelSLBM() [5/5]

slbm::GeoTessModelSLBM::GeoTessModelSLBM | ( | GeoTessGrid * | grid,
|  | GeoTessMetaData * | metaData )

Parameterized constructor, specifying the grid and metadata for the model. The grid is constructed and the data structures are initialized based on information supplied in metadata. The data structures are not populated with any information however (all Profiles are null). The application should populate the new model's Profiles after this constructor completes.

Before calling this constructor, the supplied MetaData object must be populated with required information by calling the following MetaData methods:

- setDescription()
- setLayerNames()
- setAttributes()
- setDataType()
- setLayerTessIds() (only required if grid has more than one multi-level tessellation)
- setSoftwareVersion()
- setGenerationDate()

Parameters

  grid | a pointer to the GeoTessGrid that will support this GeoTessModel. GeoTessModel assumes ownership of the supplied grid object and will delete it when it is done with it.
  metaData | MetaData the new GeoTessModel instantiates a reference to the supplied metaData. No copy is made.

Exceptions

  GeoTessException | if metadata is incomplete.

## ◆ ~GeoTessModelSLBM()

virtual slbm::GeoTessModelSLBM::~GeoTessModelSLBM | ( |  | ) |
| virtual

Copy constructor Destructor.

## Member Function Documentation

## ◆ class_name()

virtual string slbm::GeoTessModelSLBM::class_name | ( |  | ) |
| inline virtual

Returns the class name.

Returns
  class name

Definition at line 298 of file GeoTessModelSLBM.h.

## ◆ getAverageMantleVelocity()

double slbm::GeoTessModelSLBM::getAverageMantleVelocity | ( | const int & | index | ) | const
| inline

Get the average mantle velocity for P (index=0) or S (index=1).

Definition at line 314 of file GeoTessModelSLBM.h.

## ◆ getBufferSize()

int slbm::GeoTessModelSLBM::getBufferSize | ( |  | ) |
| inline

Definition at line 356 of file GeoTessModelSLBM.h.

## ◆ getFileFormatVersion()

int slbm::GeoTessModelSLBM::getFileFormatVersion | ( |  | ) |
| inline

Returns the file format verison of the model file

Definition at line 308 of file GeoTessModelSLBM.h.

## ◆ getPDU()

vector< UncertaintyPDU * > & slbm::GeoTessModelSLBM::getPDU | ( |  | ) |
| inline

Path dependent uncertainty for each supported phase.

Definition at line 338 of file GeoTessModelSLBM.h.

## ◆ getPIU()

const vector< vector< UncertaintyPIU * > > & slbm::GeoTessModelSLBM::getPIU | ( |  | ) | const
| inline

A 2D array of Uncertainty objects. The array dimensions are nPhases x nAttriubtes where nPhases = 4 (Pn, Sn, Pg, Lg) and nAttributes is 3 (TT, SH, AZ).

Definition at line 333 of file GeoTessModelSLBM.h.

## ◆ isPathDepUncModel()

bool slbm::GeoTessModelSLBM::isPathDepUncModel | ( |  | ) |
| inline

Returns true if this model contains pdu information

Definition at line 303 of file GeoTessModelSLBM.h.

## ◆ loadModelAscii()

virtual void slbm::GeoTessModelSLBM::loadModelAscii | ( | IFStreamAscii & | input,
|  | const string & | inputDirectory,
|  | const string & | relGridFilePath )
| protected virtual

Load a model (3D grid and data) from an ascii File.

The format of the file is:
int fileFormatVersion (currently only recognizes 1).
String gridFile: either *, or relative path to gridFile.
int nVertices, nLayers, nAttributes, dataType(DOUBLE or FLOAT).
int[] tessellations = new int[nLayers];
Profile[nVertices][nLayers]: data

Parameters

  input | ascii stream that provides input
  inputDirectory | the directory where the model file resides
  relGridFilePath | the relative path from the directory where the model file resides to the directory where the grid file resides.

Exceptions

  GeoTessException |

## ◆ loadModelBinary()

virtual void slbm::GeoTessModelSLBM::loadModelBinary | ( | IFStreamBinary & | input,
|  | const string & | inputDirectory,
|  | const string & | relGridFilePath )
| protected virtual

Load a model (3D grid and data) from a binary File.

The format of the file is:
int fileFormatVersion (currently only recognizes 1).
String gridFile: either *, or relative path to gridFile.
int nVertices, nLayers, nAttributes, dataType(DOUBLE or FLOAT).
int[] tessellations = new int[nLayers];
Profile[nVertices][nLayers]: data

Parameters

  input | binary stream that provides input
  inputDirectory | the directory where the model file resides
  relGridFilePath | the relative path from the directory where the model file resides to the directory where the grid file resides.

Exceptions

  GeoTessException |

## ◆ operator!=()

virtual bool slbm::GeoTessModelSLBM::operator!= | ( | const GeoTessModelSLBM & | other | ) | const
| inline virtual

Definition at line 282 of file GeoTessModelSLBM.h.

## ◆ operator==()

virtual bool slbm::GeoTessModelSLBM::operator== | ( | const GeoTessModelSLBM & | other | ) | const
| virtual

## ◆ setAverageMantleVelocity()

void slbm::GeoTessModelSLBM::setAverageMantleVelocity | ( | const int & | index,
|  | const double & | velocity )
| inline

Get the average mantle velocity for P (index=0) or S (index=1).

Definition at line 323 of file GeoTessModelSLBM.h.

## ◆ toString()

string slbm::GeoTessModelSLBM::toString | ( |  | ) |

## ◆ writeModelAscii()

virtual void slbm::GeoTessModelSLBM::writeModelAscii | ( | IFStreamAscii & | output,
|  | const string & | gridFileName )
| protected virtual

Write the model currently in memory to an ascii file. A model can be stored with the data and grid in the same or separate files. This method will write the data from the 3D model to the specified outputfile. If the supplied gridFileName is the single character "*", then the grid information is written to the same file as the data. If the gridFileName is anything else, it is assumed to be the relative path from the data file to an existing file where the grid information is stored. In the latter case, the grid information is not actually written to the specified file; all that happens is that the relative path is stored in the data file.

## ◆ writeModelBinary()

virtual void slbm::GeoTessModelSLBM::writeModelBinary | ( | IFStreamBinary & | output,
|  | const string & | gridFileName )
| protected virtual

Write the model currently in memory to a binary file. A model can be stored with the data and grid in the same or separate files. This method will write the data from the 3D model to the specified outputfile. If the supplied gridFileName is the single character "*", then the grid information is written to the same file as the data. If the gridFileName is anything else, it is assumed to be the relative path from the data file to an existing file where the grid information is stored. In the latter case, the grid information is not actually written to the specified file; all that happens is that the relative path is stored in the data file.

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

- rstt_v3.2.1/SLBM/include/GeoTessModelSLBM.h