BALL
1.5.0
include
BALL
MOLMEC
PARAMETER
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
12
# include <
BALL/FORMAT/parameterSection.h
>
13
#endif
14
15
#ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
16
# include <
BALL/MOLMEC/PARAMETER/atomTypes.h
>
17
#endif
18
19
namespace
BALL
20
{
27
class
BALL_EXPORT
QuadraticImproperTorsion
28
:
public
ParameterSection
29
{
30
public
:
31
32
enum
33
{
34
UNKNOWN
35
};
36
37
struct
BALL_EXPORT
Values
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
{
56
Atom
*
atom1
;
57
Atom
*
atom2
;
58
Atom
*
atom3
;
59
Atom
*
atom4
;
60
61
Values
values
;
62
};
63
64
BALL_CREATE
(
QuadraticImproperTorsion
)
65
66
69
70
72
QuadraticImproperTorsion
() ;
73
76
QuadraticImproperTorsion
(const
QuadraticImproperTorsion
& torsion)
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
114
QuadraticImproperTorsion
::
Values
getParameters(
Atom
::Type I,
Atom
::Type J,
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
148
Size
number_of_atom_types_;
149
150
vector<
Values
> torsions_;
151
152
HashMap
<
Size
,
Size
> torsion_hash_map_;
153
};
155
}
// namespace BALL
156
157
#endif
// BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
UNKNOWN
UNKNOWN
Definition:
result.h:27
parameterSection.h
atomTypes.h
BALL
Definition:
constants.h:13
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::operator!=
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
BALL::Constants::k
BALL_EXTERN_VARIABLE const double k
Definition:
constants.h:93
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition:
hashMap.h:74
BALL::String
Definition:
string.h:57
BALL::Parameters
Definition:
parameters.h:25
BALL::ParameterSection
Definition:
parameterSection.h:40
BALL::Atom
Definition:
atom.h:90
BALL::ForceFieldParameters
Definition:
forceFieldParameters.h:31
BALL::QuadraticImproperTorsion
Definition:
quadraticImproperTorsion.h:29
BALL::QuadraticImproperTorsion::Values
Definition:
quadraticImproperTorsion.h:38
BALL::QuadraticImproperTorsion::Values::k
float k
Definition:
quadraticImproperTorsion.h:40
BALL::QuadraticImproperTorsion::Values::phase
float phase
Definition:
quadraticImproperTorsion.h:39
BALL::QuadraticImproperTorsion::Data
Definition:
quadraticImproperTorsion.h:55
BALL::QuadraticImproperTorsion::Data::atom3
Atom * atom3
Definition:
quadraticImproperTorsion.h:58
BALL::QuadraticImproperTorsion::Data::atom4
Atom * atom4
Definition:
quadraticImproperTorsion.h:59
BALL::QuadraticImproperTorsion::Data::atom1
Atom * atom1
Definition:
quadraticImproperTorsion.h:56
BALL::QuadraticImproperTorsion::Data::values
Values values
Definition:
quadraticImproperTorsion.h:61
BALL::QuadraticImproperTorsion::Data::atom2
Atom * atom2
Definition:
quadraticImproperTorsion.h:57
BALL_SIZE_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
Generated by
1.9.1