Pteros  2.0
Molecular modeling library for human beings!
histogram.h
1 /*
2  *
3  * This source code is part of
4  * ******************
5  * *** Pteros ***
6  * ******************
7  * molecular modeling library
8  *
9  * Copyright (c) 2009-2013, Semen Yesylevskyy
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of Artistic License:
13  *
14  * Please note, that Artistic License is slightly more restrictive
15  * then GPL license in terms of distributing the modified versions
16  * of this software (they should be approved first).
17  * Read http://www.opensource.org/licenses/artistic-license-2.0.php
18  * for details. Such license fits scientific software better then
19  * GPL because it prevents the distribution of bugged derivatives.
20  *
21 */
22 
23 #ifndef HISTOGRAM_H
24 #define HISTOGRAM_H
25 
26 #include <vector>
27 
28 namespace pteros {
29 
30 enum HISTOGRAM_TYPE {HIST_LINEAR,HIST_CYLINDRICAL,HIST_SPHERICAL};
31 
32 class Histogram {
33 public:
34  Histogram(HISTOGRAM_TYPE t,float min_val,float max_val,int N);
35  void add(float val);
36  void normalize(float val);
37  float get_value(float val);
38  float get_bin(int i);
39 
40 private:
41  std::vector<float> data;
42  int Nbins;
43  float minval,maxval,delta;
44  HISTOGRAM_TYPE hist_type;
45 };
46 
47 } // namespace
48 
49 #endif
Pteros namespace.
Definition: options.cpp:32