source: molecuilder/src/defs.hpp@ d982bb

Last change on this file since d982bb was d982bb, checked in by Frederik Heber <heber@…>, 17 years ago

All filenames (const char *) have been transferred to defs.hpp

Filenames have been transformed into #define's into order to centralise these values. Parser.hpp had these already and they were streamlined to match defs.hpp (which is now included in parser.hpp)

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/** \file defs.hpp
2 *
3 * Constant definitons and enumerations.
4 *
5 */
6
7#ifndef DEFS_HPP_
8#define DEFS_HPP_
9
10using namespace std;
11
12#define MYEPSILON 1e-13 //!< machine epsilon precision
13#define NDIM 3 //!< number of spatial dimensions
14#define MAX_ELEMENTS 128 //!< maximum number of elements for certain lookup tables
15#define AtomicLengthToAngstroem 0.52917721 //!< conversion factor from atomic length/bohrradius to angstroem
16#define BONDTHRESHOLD 0.5 //!< CSD threshold in bond check which is the width of the interval whose center is the sum of the covalent radii
17
18#define VERSIONSTRING "v1.0"
19
20enum BondOrderScheme { NoScheme, BottomUp, TopDown, ANOVA, Combined }; //!< Fragmentation scheme used in BOSS
21
22enum EdgeType { Undetermined, TreeEdge, BackEdge }; //!< edge type in a graph after Depth-First-Search analysis.
23
24enum Shading { white, lightgray, darkgray, black }; //!< color in Breadth-First-Search analysis
25
26enum CutCyclicBond { KeepBond, SaturateBond }; //!< Saturation scheme either atom- or bondwise
27
28// Specifting whether a value in the parameter file must be specified or is optional
29enum necessity { optional, //!< parameter is optional, if not given sensible value is chosen
30 critical //!< parameter must be given or programme won't initiate
31 };
32
33// Specifying the status of the on command line given config file
34enum ConfigStatus { absent, empty, present };
35
36// Specifying the cast type to be read of a parameter, see ParseForParameter()
37enum value_type { string_type, double_type, int_type, row_int, row_double, grid, lower_trigrid, upper_trigrid};
38
39// various standard filenames
40#define KEYSETFILE "KeySets.dat"
41#define ADJACENCYFILE "Adjacency.dat"
42#define TEFACTORSFILE "TE-Factors.dat"
43#define FORCESFILE "Forces-Factors.dat"
44#define FRAGMENTPREFIX "BondFragment"
45#define STANDARDCONFIG "unknown.conf"
46#define STANDARDELEMENTSDB "elements.db"
47#define STANDARDVALENCEDB "valence.db"
48#define STANDARDORBITALDB "orbitals.db"
49#define STANDARDHBONDDISTANCEDB "Hbonddistance.db"
50#define STANDARDHBONDANGLEDB "Hbondangle.db"
51
52
53#endif /*DEFS_HPP_*/
Note: See TracBrowser for help on using the repository browser.