File database.hpp
This file contains the interface for the application wide database, which, among other things, defines physical constants and atom name mapping.
- Author
Benjamin Lindner ben@benlabs.net
- Version
See VERSION in CMakeLists.txt
- Copyright
GNU General Public License
-
class DatabaseExlusionParameters
- #include <database.hpp>
Implements a mapping between integer based atom IDs and exclusion factors. Exclusion factors are a means to scale atomic volumes.
Public Functions
-
inline DatabaseExlusionParameters()
-
double get(size_t ID, double effvolume, double q)
Private Members
-
size_t quicklookup_counter
Friends
- friend class Database
- friend class boost::serialization::access
-
inline DatabaseExlusionParameters()
-
class DatabaseVolumesParameters
- #include <database.hpp>
Implements a mapping between integer based atom IDs and their associated volume.
Private Members
-
size_t quicklookup_counter
Friends
- friend class Database
- friend class boost::serialization::access
-
size_t quicklookup_counter
-
class DatabaseSFactorsParameters
- #include <database.hpp>
Implements a mapping between integer based atom IDs and their potentially q dependent scattering factors.
Private Functions
-
void add_quicklookup(size_t ID, double q, double value)
-
void clear_quicklookup()
Private Members
-
size_t quicklookup_counter
Friends
- friend class Database
- friend class boost::serialization::access
-
void add_quicklookup(size_t ID, double q, double value)
-
class DatabaseMassesParameters
- #include <database.hpp>
Implements a mapping between integer based atom IDs and their masses.
Private Functions
Friends
- friend class Database
- friend class boost::serialization::access
-
class DatabaseAtomIDsParameters
- #include <database.hpp>
Implements a mapping between integer based atom IDs and string labels. For efficency, internally all physical constants are associated with integer based atom IDs.
Private Functions
Private Members
-
size_t nextID
Friends
- friend class Database
- friend class boost::serialization::access
-
size_t nextID
-
class DatabaseNamesPDBParameters
- #include <database.hpp>
Support for PDB style atom names
Public Functions
-
inline DatabaseNamesPDBParameters()
Private Functions
-
void clear_quicklookup()
Private Members
-
size_t quicklookup_counter
Friends
- friend class Database
- friend class boost::serialization::access
-
inline DatabaseNamesPDBParameters()
-
class DatabaseNamesParameters
- #include <database.hpp>
Implements the name mapping facility of the database
Public Members
Private Functions
Friends
- friend class Database
- friend class boost::serialization::access
-
class Database
- #include <database.hpp>
This singleton class is the root of a strong class hierarchy which implements a software wide database for physical constants and atom labeling. It also performs required computation, e.g. when the scattering factor for an atom is q vector length dependent.
Public Members
-
DatabaseNamesParameters names
-
DatabaseMassesParameters masses
-
DatabaseVolumesParameters volumes
-
DatabaseExlusionParameters exclusionfactors
-
DatabaseSFactorsParameters sfactors
-
DatabaseAtomIDsParameters atomIDs
Friends
- friend class boost::serialization::access
-
DatabaseNamesParameters names