libatomprobe
Library for Atom Probe Tomography (APT) computation
atomprobe.h
Go to the documentation of this file.
1 /* atomprobe.h : Atom probe library base header - use "include" in your program to use libatomprobe
2  * Copyright (C) 2014 Daniel Haley
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 #ifndef ATOMPROBE_H
18 #define ATOMPROBE_H
19 
38 #include "io/ranges.h"
39 #include "io/multiRange.h"
40 #include "io/dataFiles.h"
41 
44 #include "algorithm/rotations.h"
45 //Bug : qhull crashes under cygwin. Disable this functionality
46 #ifndef __CYGWIN__
47 #include "algorithm/convexHull.h"
48 #endif
49 #include "algorithm/axialdf.h"
50 #include "algorithm/histogram.h"
51 #include "algorithm/massTool.h"
52 #include "algorithm/filter.h"
53 #include "algorithm/rangeCheck.h"
55 
56 #include "helper/progress.h"
57 #include "helper/misc.h"
58 #include "helper/stringFuncs.h"
59 #include "helper/sampling.h"
60 #include "helper/composition.h"
61 #include "helper/convert.h"
62 #include "helper/maths/quat.h"
63 #include "helper/maths/misc.h"
64 #include "helper/version.h"
65 
66 #include "isotopes/abundance.h"
67 #include "isotopes/overlaps.h"
68 #include "isotopes/massconvert.h"
69 
70 #include "projection/projection.h"
71 
73 #include "latticeplanes/generate.h"
74 
76 
77 #include "spectrum/processing.h"
78 
79 #include "primitives/mesh.h"
80 
81 #include "statistics/confidence.h"
82 
84 
85 #include "helper/voxels.h"
86 
87 #include "algorithm/isoSurface.h"
88 
89 #include "io/multiRange.h"
90 #include <gsl/gsl_rng.h>
91 
92 
93 #ifdef DEBUG
94  #include <cstdlib>
95 //Experimental headers
96  #include "spectrum/fitting.h"
97 
98 #endif
99 
100 namespace AtomProbe
101 {
102 
103 
107 {
108  private:
109  //TODO: Remove GSL, use std library?
110  gsl_rng *rng;
111  public:
112  RandNumGen();
113  ~RandNumGen();
115  gsl_rng* getRng() const { return rng;};
116 };
117 
118 extern LibVersion libVersion;
119 extern RandNumGen randGen;
120 
121 }
122 
123 #endif
Class to hold the library version data.
Definition: version.h:37
LibVersion libVersion
Definition: atomprobe.cpp:28
gsl_rng * getRng() const
Obtain a GSL random number generator.
Definition: atomprobe.h:115
RandNumGen randGen
Definition: atomprobe.cpp:29