File: ExvTable.cpp

package info (click to toggle)
ausaxs 1.1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 72,592 kB
  • sloc: cpp: 49,853; ansic: 6,901; python: 730; makefile: 18
file content (25 lines) | stat: -rw-r--r-- 1,088 bytes parent folder | download
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
// SPDX-License-Identifier: LGPL-3.0-or-later
// Author: Kristian Lytje

#include <form_factor/ExvTable.h>
#include <settings/MoleculeSettings.h>

#include <stdexcept>
#include <string>

using namespace ausaxs;

constants::exv::detail::ExvSet constants::exv::get_exv_set() {
    switch (settings::molecule::exv_set) {
        case settings::molecule::ExvSet::Traube: return Traube;
        case settings::molecule::ExvSet::Voronoi_explicit_H: return Voronoi_explicit_H;
        case settings::molecule::ExvSet::Voronoi_implicit_H: return Voronoi_implicit_H;
        case settings::molecule::ExvSet::MinimumFluctutation_explicit_H: return MinimumFluctuation_explicit_H;
        case settings::molecule::ExvSet::MinimumFluctutation_implicit_H: return MinimumFluctuation_implicit_H;
        case settings::molecule::ExvSet::vdw: return vdw;
        default: 
            throw std::runtime_error(
                "constants::displaced_volume::get_exv_set: Invalid displaced volume set" 
                "(enum " + std::to_string(static_cast<int>(settings::molecule::exv_set)) + ")");
    }
}