norsarwell.hpp
Go to the documentation of this file.
1// $Id: norsarwell.hpp 883 2011-09-26 09:17:05Z perroe $
2
3// Copyright (c) 2011, Norwegian Computing Center
4// All rights reserved.
5// Redistribution and use in source and binary forms, with or without modification,
6// are permitted provided that the following conditions are met:
7// • Redistributions of source code must retain the above copyright notice, this
8// list of conditions and the following disclaimer.
9// • Redistributions in binary form must reproduce the above copyright notice, this list of
10// conditions and the following disclaimer in the documentation and/or other materials
11// provided with the distribution.
12// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
13// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
14// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
15// SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
17// OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
18// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
20// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21
22#ifndef NRLIB_NORSARWELL_HPP
23#define NRLIB_NORSARWELL_HPP
24
25#include <vector>
26#include <sstream>
27#include <map>
28
29#include "../exception/exception.hpp"
30#include "well.hpp"
31
32
33namespace NRLib {
34 class NorsarWell : public Well
35 {
36 public:
39 NorsarWell(const std::string & filename);
40
42 /*
44 NorsarWell(Well *wellobj);
46 void WriteWell(const std::string& filename);
47 */
48
49 double GetXPosOrigin() {return(xpos0_);}
50 double GetYPosOrigin() {return(ypos0_);}
51
53
54 private:
56 std::string version_;
58 std::string format_;
60 double md_min_;
62 double md_max_;
64 double md_min_step_;
66 double md_max_step_;
68 double xpos0_, ypos0_;
70 double ekb_;
72 std::vector<std::string> header_units_;
73
75 std::map<std::string,std::string> units_;
76
77 std::vector<std::vector<double> > ReadLogs(const std::string & filename, int n_col, int n_row, int skip_lines);
78 std::vector<std::vector<double> > MergeLogs(const std::vector<std::vector<double> > & track_logs, int track_MD,
79 const std::vector<std::vector<double> > & log_logs, int log_MD);
80
81 };
82
83
84}
85#endif
const char *const name
Definition: cJSON.h:258
const char *const string
Definition: cJSON.h:170
Definition: norsarwell.hpp:35
double GetYPosOrigin()
Definition: norsarwell.hpp:50
std::string GetLogUnit(const std::string &name)
NorsarWell(const std::string &filename)
double GetXPosOrigin()
NBNB add when convenient.
Definition: norsarwell.hpp:49
Definition: NRLib/nrlib/well/well.hpp:30
Definition: exception.hpp:31