BALL
1.4.79
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
MOLMEC
PARAMETER
cosineTorsion.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
5
#ifndef BALL_MOLMEC_PARAMETER_COSINETORSION_H
6
#define BALL_MOLMEC_PARAMETER_COSINETORSION_H
7
8
#ifndef BALL_FORMAT_PARAMETERSECTION_H
9
# include <
BALL/FORMAT/parameterSection.h
>
10
#endif
11
12
#ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
13
# include <
BALL/MOLMEC/PARAMETER/atomTypes.h
>
14
#endif
15
16
namespace
BALL
17
{
25
class
BALL_EXPORT
CosineTorsion
26
:
public
ParameterSection
27
{
28
public
:
29
30
enum
31
{
32
UNKNOWN
33
};
34
35
struct
SingleValues
36
{
37
float
phase
;
38
float
V
;
39
float
f
;
40
float
n
;
41
42
SingleValues
(
const
SingleValues
& v)
43
: phase(v.phase),
44
V(v.V),
45
f(v.f),
46
n(v.n)
47
{
48
}
49
50
SingleValues
()
51
: phase(0),
52
V(0),
53
f(0),
54
n(0)
55
{
56
}
57
58
bool
operator == (
const
SingleValues
& rhs)
const
59
{
60
return
((phase == rhs.
phase
) && (V == rhs.
V
)
61
&& (f == rhs.
f
) && (n == rhs.
n
));
62
}
63
};
64
65
struct
BALL_EXPORT
Values
66
{
68
Size
n
;
70
SingleValues
*
values
;
71
72
Values
()
73
: n(0),
74
values(0)
75
{
76
}
77
78
Values
(
Size
number)
79
: n((unsigned char)number),
80
values(new
SingleValues
[number])
81
{
82
}
83
84
Values
(
const
Values
& v)
85
{
86
n = v.
n
;
87
values =
new
SingleValues
[n];
88
for
(
Position
i = 0; i < n; i++)
89
{
90
values[i].
phase
= v.
values
[i].
phase
;
91
values[i].V = v.
values
[i].
V
;
92
values[i].f = v.
values
[i].
f
;
93
values[i].n = v.
values
[i].
n
;
94
}
95
}
96
97
void
set
(
const
Values
& v)
98
{
99
delete
[] values;
100
101
n = v.
n
;
102
values =
new
SingleValues
[n];
103
for
(
Position
i = 0; i < n; i++)
104
{
105
values[i] = v.
values
[i];
106
}
107
}
108
109
~Values
()
110
{
111
delete
[] values;
112
}
113
114
bool
operator == (
const
Values
& rhs)
const
115
{
116
if
(n != rhs.
n
)
117
{
118
return
false
;
119
}
120
for
(
Position
i = 0; i < n; ++i)
121
{
122
if
(!(values[i] == rhs.
values
[i]))
123
{
124
return
false
;
125
}
126
}
127
return
true
;
128
}
129
130
bool
operator != (
const
Values
& rhs)
const
131
{
132
return
! operator == (rhs);
133
}
134
};
135
136
struct
BALL_EXPORT
Data
137
{
138
Atom
*
atom1
;
139
Atom
*
atom2
;
140
Atom
*
atom3
;
141
Atom
*
atom4
;
142
143
Values
values
;
144
};
145
146
struct
BALL_EXPORT
SingleData
147
{
148
Atom
*
atom1
;
149
Atom
*
atom2
;
150
Atom
*
atom3
;
151
Atom
*
atom4
;
152
153
SingleValues
values
;
154
};
155
159
162
CosineTorsion
();
163
166
CosineTorsion
(
const
CosineTorsion
& cosine_torsion);
167
170
virtual
~
CosineTorsion
() ;
171
174
virtual
void
clear() ;
175
177
181
188
virtual
bool
extractSection(
ForceFieldParameters
& parameters,
const
String
& section_name);
189
191
virtual
bool
extractSection(
Parameters
& parameters,
const
String
& section_name);
192
195
bool
hasParameters(
Atom::Type
I,
Atom::Type
J,
Atom::Type
K,
Atom::Type
L)
const
;
196
199
CosineTorsion::Values
getParameters(
Atom::Type
I,
Atom::Type
J,
Atom::Type
K,
Atom::Type
L)
const
;
200
205
bool
assignParameters(
CosineTorsion::Values
& parameters,
Atom::Type
I,
206
Atom::Type
J,
Atom::Type
K,
Atom::Type
L)
const
;
207
209
212
215
CosineTorsion
& operator = (
const
CosineTorsion
& cosine_torsion);
216
218
222
225
bool
operator == (
const
CosineTorsion
& cosine_torsion)
const
;
226
228
229
protected
:
230
231
Size
number_of_atom_types_
;
232
233
vector<Values>
torsions_
;
234
235
HashMap<Size, Size>
torsion_hash_map_
;
236
};
237
238
}
// namespace BALL
239
240
#endif // BALL_MOLMEC_PARAMETER_COSINETORSION_H
BALL::CosineTorsion::Values::values
SingleValues * values
Definition:
cosineTorsion.h:70
BALL::CosineTorsion::SingleValues::SingleValues
SingleValues()
Definition:
cosineTorsion.h:50
BALL::CosineTorsion
Definition:
cosineTorsion.h:25
BALL::ParameterSection
Definition:
parameterSection.h:39
BALL::String
Definition:
string.h:61
BALL::Atom::Type
short Type
Definition:
atom.h:103
BALL::CosineTorsion::SingleValues::V
float V
Definition:
cosineTorsion.h:38
BALL::CosineTorsion::number_of_atom_types_
Size number_of_atom_types_
Definition:
cosineTorsion.h:231
BALL::CosineTorsion::Data::atom3
Atom * atom3
Definition:
cosineTorsion.h:140
BALL::CosineTorsion::Values::set
void set(const Values &v)
Definition:
cosineTorsion.h:97
BALL::CosineTorsion::SingleValues::n
float n
Definition:
cosineTorsion.h:40
BALL::CosineTorsion::Data::atom2
Atom * atom2
Definition:
cosineTorsion.h:139
BALL::CosineTorsion::SingleValues::phase
float phase
Definition:
cosineTorsion.h:37
BALL::CosineTorsion::Values::Values
Values(Size number)
Definition:
cosineTorsion.h:78
UNKNOWN
UNKNOWN
Definition:
result.h:27
BALL::CosineTorsion::SingleValues::SingleValues
SingleValues(const SingleValues &v)
Definition:
cosineTorsion.h:42
BALL::CosineTorsion::SingleData::atom4
Atom * atom4
Definition:
cosineTorsion.h:151
parameterSection.h
BALL::CosineTorsion::Values::Values
Values()
Definition:
cosineTorsion.h:72
BALL::CosineTorsion::torsion_hash_map_
HashMap< Size, Size > torsion_hash_map_
Definition:
cosineTorsion.h:235
BALL::CosineTorsion::Values
Definition:
cosineTorsion.h:65
BALL::CosineTorsion::SingleData::atom2
Atom * atom2
Definition:
cosineTorsion.h:149
BALL::CosineTorsion::SingleValues
Definition:
cosineTorsion.h:35
BALL::ForceFieldParameters
Definition:
forceFieldParameters.h:29
BALL::CosineTorsion::Data::atom1
Atom * atom1
Definition:
cosineTorsion.h:138
BALL::CosineTorsion::torsions_
vector< Values > torsions_
Definition:
cosineTorsion.h:233
BALL::CosineTorsion::SingleValues::f
float f
Definition:
cosineTorsion.h:39
BALL::Parameters
Definition:
parameters.h:24
BALL::CosineTorsion::SingleData::atom1
Atom * atom1
Definition:
cosineTorsion.h:148
BALL::CosineTorsion::Values::~Values
~Values()
Definition:
cosineTorsion.h:109
BALL_SIZE_TYPE
BALL::CosineTorsion::Values::Values
Values(const Values &v)
Definition:
cosineTorsion.h:84
BALL::CosineTorsion::Data::atom4
Atom * atom4
Definition:
cosineTorsion.h:141
BALL::CosineTorsion::SingleData::atom3
Atom * atom3
Definition:
cosineTorsion.h:150
BALL::Atom
Definition:
atom.h:87
BALL::CosineTorsion::SingleData
Definition:
cosineTorsion.h:146
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition:
hashMap.h:73
BALL::CosineTorsion::Data::values
Values values
Definition:
cosineTorsion.h:143
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::CosineTorsion::Values::n
Size n
Definition:
cosineTorsion.h:68
atomTypes.h
BALL::CosineTorsion::Data
Definition:
cosineTorsion.h:136
BALL::CosineTorsion::SingleData::values
SingleValues values
Definition:
cosineTorsion.h:153
Generated by
1.8.6