-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCDataSet.h
69 lines (52 loc) · 1.37 KB
/
CDataSet.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
Copyright 2016, Michael R. Hoopmann, Institute for Systems Biology
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef _CDATASET_H
#define _CDATASET_H
#include <vector>
using namespace std;
enum eDSType{
grBar,
grLine,
grPoint
};
typedef struct sDataPoint{
double x;
double y;
} sDataPoint;
class CDataSet {
public:
CDataSet();
CDataSet(const CDataSet& d);
~CDataSet();
CDataSet& operator=(const CDataSet& d);
sDataPoint& operator[](size_t index);
eDSType type;
void add(sDataPoint p);
void add(double x, double y);
void clear();
int findMass(double mass);
double getMaxX();
double getMaxY();
double getMinX();
double getMinY();
void getTolerance(double& val, char& unit);
void setTolerance(double value, char unit);
size_t size();
private:
vector<sDataPoint>* data;
char tolUnit; //0=Da, 1=ppm
double tol;
double minX,maxX;
double minY,maxY;
};
#endif