BALL  1.5.0
quadraticImproperTorsion.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 // Molecular Mechanics Parameter: class describing the parameters required to
6 // describe a harmonic improper torsion (out-of-plane) potential
7 
8 #ifndef BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
9 #define BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
10 
11 #ifndef BALL_FORMAT_PARAMETERSECTION_H
13 #endif
14 
15 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
17 #endif
18 
19 namespace BALL
20 {
28  : public ParameterSection
29  {
30  public:
31 
32  enum
33  {
35  };
36 
38  {
39  float phase;
40  float k;
41 
42  bool operator == (const Values& values) const
43  {
44  return ((phase == values.phase) && (k == values.k));
45  }
46 
47  bool operator != (const Values& values) const
48  {
49  return !(operator == (values));
50  }
51 
52  };
53 
54  struct Data
55  {
60 
62  };
63 
65 
66 
69 
73 
77  ;
78 
81  virtual ~QuadraticImproperTorsion() ;
82 
85  virtual void clear() ;
86 
88 
91 
98  virtual bool extractSection(ForceFieldParameters& parameters,
99  const String& section_name) ;
100 
102  virtual bool extractSection(Parameters& parameters,
103  const String& section_name) ;
104 
106 
109  bool hasParameters(Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L)
110  const ;
111 
115  Atom::Type K, Atom::Type L) const ;
116 
121  bool assignParameters(QuadraticImproperTorsion::Values& parameters,
122  Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L) const
123  ;
124 
128 
131  const QuadraticImproperTorsion& operator =
132  (const QuadraticImproperTorsion& torsion) ;
133 
135 
138 
141  bool operator == (const QuadraticImproperTorsion& torsion) const
142  ;
143 
145 
146  protected:
147 
149 
150  vector<Values> torsions_;
151 
153  };
155 } // namespace BALL
156 
157 #endif // BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::QuadraticImproperTorsion::Data::atom3
Atom * atom3
Definition: quadraticImproperTorsion.h:58
BALL::operator!=
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
parameterSection.h
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition: hashMap.h:73
BALL_SIZE_TYPE
BALL::QuadraticImproperTorsion::torsion_hash_map_
HashMap< Size, Size > torsion_hash_map_
Definition: quadraticImproperTorsion.h:152
BALL::Atom
Definition: atom.h:87
BALL
Definition: constants.h:12
BALL::QuadraticImproperTorsion::Data::atom1
Atom * atom1
Definition: quadraticImproperTorsion.h:56
BALL::QuadraticImproperTorsion::Data::atom4
Atom * atom4
Definition: quadraticImproperTorsion.h:59
BALL::ForceFieldParameters
Definition: forceFieldParameters.h:29
BALL::String
Definition: string.h:56
BALL::QuadraticImproperTorsion::Values
Definition: quadraticImproperTorsion.h:37
BALL::Constants::k
const BALL_EXTERN_VARIABLE double k
Definition: constants.h:93
BALL::ParameterSection
Definition: parameterSection.h:39
BALL::QuadraticImproperTorsion::Data::atom2
Atom * atom2
Definition: quadraticImproperTorsion.h:57
BALL::Parameters
Definition: parameters.h:24
UNKNOWN
UNKNOWN
Definition: result.h:27
BALL::QuadraticImproperTorsion::number_of_atom_types_
Size number_of_atom_types_
Definition: quadraticImproperTorsion.h:148
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::QuadraticImproperTorsion::Values::k
float k
Definition: quadraticImproperTorsion.h:40
BALL::QuadraticImproperTorsion::Values::phase
float phase
Definition: quadraticImproperTorsion.h:39
BALL::QuadraticImproperTorsion::Data::values
Values values
Definition: quadraticImproperTorsion.h:61
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62
BALL::QuadraticImproperTorsion::Data
Definition: quadraticImproperTorsion.h:54
BALL::QuadraticImproperTorsion::torsions_
vector< Values > torsions_
Definition: quadraticImproperTorsion.h:150
BALL::QuadraticImproperTorsion
Definition: quadraticImproperTorsion.h:27
atomTypes.h
BALL::Atom::Type
short Type
Definition: atom.h:103