Chemical Data Processing Library C++ API - Version 1.2.0
FragmentConformerGeneratorSettings.hpp
Go to the documentation of this file.
1 /*
2  * FragmentConformerGeneratorSettings.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
30 #define CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
31 
32 #include <cstddef>
33 
35 
36 
37 namespace CDPL
38 {
39 
40  namespace ConfGen
41  {
42 
44  {
45 
46  public:
50 
52  {
53 
54  public:
56 
57  void setMaxNumSampledConformers(std::size_t max_num);
58 
59  std::size_t getMaxNumSampledConformers() const;
60 
61  void setMinNumSampledConformers(std::size_t min_num);
62 
63  std::size_t getMinNumSampledConformers() const;
64 
65  void setTimeout(std::size_t mil_secs);
66 
67  std::size_t getTimeout() const;
68 
69  void setEnergyWindow(double win_size);
70 
71  double getEnergyWindow() const;
72 
73  void setMaxNumOutputConformers(std::size_t max_num);
74 
75  std::size_t getMaxNumOutputConformers() const;
76 
77  void setMinRMSD(double min_rmsd);
78 
79  double getMinRMSD() const;
80 
81  private:
82  std::size_t maxNumSampledConfs;
83  std::size_t minNumSampledConfs;
84  std::size_t maxNumOutputConfs;
85  std::size_t timeout;
86  double eWindow;
87  double minRMSD;
88  };
89 
91 
93 
94  void preserveInputBondingGeometries(bool preserve);
95 
97 
98  void setForceFieldType(unsigned int type);
99 
100  unsigned int getForceFieldType() const;
101 
103 
105 
106  void setDielectricConstant(double de_const);
107 
108  double getDielectricConstant() const;
109 
110  void setDistanceExponent(double exponent);
111 
112  double getDistanceExponent() const;
113 
114  void setMaxNumRefinementIterations(std::size_t max_iter);
115 
116  std::size_t getMaxNumRefinementIterations() const;
117 
118  void setRefinementStopGradient(double grad_norm);
119 
121 
122  void setMacrocycleRotorBondCountThreshold(std::size_t min_count);
123 
125 
127 
129 
131 
133 
135 
137 
138  void setSmallRingSystemSamplingFactor(std::size_t factor);
139 
140  std::size_t getSmallRingSystemSamplingFactor() const;
141 
142  private:
143  bool preserveBondGeom;
144  unsigned int forceFieldType;
145  bool strictParam;
146  double dielectricConst;
147  double distExponent;
148  std::size_t maxNumRefIters;
149  double refStopGrad;
150  std::size_t mcRotorBondCountThresh;
151  std::size_t srSamplingFactor;
152  FragmentSettings chainSettings;
153  FragmentSettings mcSettings;
154  FragmentSettings srSettings;
155  };
156  } // namespace ConfGen
157 } // namespace CDPL
158 
159 #endif // CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
Definition of the preprocessor macro CDPL_CONFGEN_API.
#define CDPL_CONFGEN_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition: FragmentConformerGeneratorSettings.hpp:52
Definition: FragmentConformerGeneratorSettings.hpp:44
const FragmentSettings & getChainSettings() const
void setMacrocycleRotorBondCountThreshold(std::size_t min_count)
virtual ~FragmentConformerGeneratorSettings()
Definition: FragmentConformerGeneratorSettings.hpp:92
const FragmentSettings & getSmallRingSystemSettings() const
static const FragmentConformerGeneratorSettings FAST
Definition: FragmentConformerGeneratorSettings.hpp:48
void setMaxNumRefinementIterations(std::size_t max_iter)
const FragmentSettings & getMacrocycleSettings() const
static const FragmentConformerGeneratorSettings DEFAULT
Definition: FragmentConformerGeneratorSettings.hpp:47
static const FragmentConformerGeneratorSettings THOROUGH
Definition: FragmentConformerGeneratorSettings.hpp:49
void setSmallRingSystemSamplingFactor(std::size_t factor)
The namespace of the Chemical Data Processing Library.