h5geo 0.4.0
C++17 and python API to work with geo-data (seismic, wells, maps, other in process) based on HDF5. Aimed at geoscientists and developers.
Loading...
Searching...
No Matches
h5logcurve.h
1#ifndef H5LOGCURVE_H
2#define H5LOGCURVE_H
3
4#include "h5baseobject.h"
5
6#include <Eigen/Dense>
7
9class H5Well;
10
18{
19protected:
20 virtual ~H5LogCurve() = default;
21
22public:
24 virtual bool writeCurve(
25 const h5geo::LogDataType& name,
26 Eigen::Ref<Eigen::VectorXd> v,
27 const std::string& units = "") = 0;
29 virtual bool writeCurve(
30 const std::string& name,
31 Eigen::Ref<Eigen::VectorXd> v,
32 const std::string& units = "") = 0;
33
35 virtual size_t getNCurves() = 0;
37 virtual size_t getNSamp() = 0;
39 virtual Eigen::VectorXd getCurve(
40 const h5geo::LogDataType& name,
41 const std::string& units = "") = 0;
43 virtual Eigen::VectorXd getCurve(
44 const std::string& name,
45 const std::string& units = "") = 0;
46
51 virtual std::string getRelativeName() = 0;
52
55
59 virtual H5Well* openWell() = 0;
60
62 virtual std::optional<h5gt::DataSet> getLogCurveD() = 0;
63};
64
65using H5LogCurve_ptr = std::unique_ptr<H5LogCurve, h5geo::ObjectDeleter>;
66
67#endif // H5LOGCURVE_H
Base class for geo-objects.
Definition h5baseobject.h:13
Provides API to work with well logs.
Definition h5logcurve.h:18
virtual bool writeCurve(const h5geo::LogDataType &name, Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
Write MD or VAL curve.
virtual std::string getRelativeName()=0
Get current Log curve's name.
virtual size_t getNCurves()=0
Get number of curves.
virtual std::optional< h5gt::DataSet > getLogCurveD()=0
Get current Log curve's DataSet.
virtual H5LogCurveParam getParam()=0
Get parameters that were used to create current log curve.
virtual H5Well * openWell()=0
Open parent H5Well.
virtual size_t getNSamp()=0
Get number of samples.
virtual bool writeCurve(const std::string &name, Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
Write MD or VAL curve.
virtual Eigen::VectorXd getCurve(const h5geo::LogDataType &name, const std::string &units="")=0
Get MD or VAL curve.
virtual H5WellContainer * openWellContainer()=0
Open H5WellContainer where current log curve resides.
virtual Eigen::VectorXd getCurve(const std::string &name, const std::string &units="")=0
Get MD or VAL curve.
A container built around HDF5 file and used for storing and manipulating H5Well objects.
Definition h5wellcontainer.h:15
Provides API to work with wells.
Definition h5well.h:22
Class for creating H5LogCurve.
Definition h5base.h:157