BALL
1.5.0
Loading...
Searching...
No Matches
include
BALL
MOLMEC
MMFF94
MMFF94Torsion.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: MMFF94Torsion.h,v 1.1.8.1 2007/03/25 21:25:19 oliver Exp $
5
//
6
7
#ifndef BALL_MOLMEC_MMFF94_MMFF94TORSION_H
8
#define BALL_MOLMEC_MMFF94_MMFF94TORSION_H
9
10
#ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
11
# include <
BALL/MOLMEC/COMMON/forceFieldComponent.h
>
12
#endif
13
14
#ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
15
# include <
BALL/MOLMEC/COMMON/forceField.h
>
16
#endif
17
18
#ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
19
# include <
BALL/MOLMEC/MMFF94/MMFF94Parameters.h
>
20
#endif
21
22
namespace
BALL
23
{
27
class
BALL_EXPORT
MMFF94Torsion
28
:
public
ForceFieldComponent
29
{
30
public
:
31
33
struct
BALL_EXPORT
Torsion
34
{
35
Torsion
();
36
37
Index
type
;
38
Atom
*
atom1
;
39
Atom
*
atom2
;
40
Atom
*
atom3
;
41
Atom
*
atom4
;
42
double
v1
, v2, v3;
43
// for debugging:
44
double
energy
;
45
double
angle
;
46
bool
heuristic
;
47
};
48
52
54
#define MMFF94_TORSIONS_ENABLED "enable Torsions"
56
60
61
BALL_CREATE
(MMFF94Torsion)
62
63
65
MMFF94Torsion
();
66
69
MMFF94Torsion
(
ForceField
& force_field);
70
73
MMFF94Torsion
(const
MMFF94Torsion
& MMFF94_stretch);
74
77
virtual ~
MMFF94Torsion
();
78
80
83
87
virtual
bool
setup();
88
90
93
96
virtual
double
updateEnergy();
97
100
virtual
void
updateForces();
101
103
Position
getTorsionType(const vector<
Atom
*>& atoms) const;
104
106
const vector<
Torsion
>& getTorsions()
const
{
return
torsions_;}
107
109
110
protected
:
111
112
// Add a double precision TVector3 to a single precision Vector3
113
inline
void
AddDV3_
(
Vector3
& f3,
const
TVector3<double>
d3);
114
115
double
getU_
(
Position
e);
116
double
getV_
(
Position
e);
117
bool
calculateHeuristic_
(
const
Atom
& aj,
const
Atom
& ak,
double
& v1,
double
& v2,
double
& v3);
118
119
vector<Torsion>
torsions_
;
120
MMFF94TorsionParameters
parameters_
;
121
};
122
}
// namespace BALL
123
124
#endif
// BALL_MOLMEC_MMFF94_MMFF94TORSION_H
BALL_CREATE
#define BALL_CREATE(name)
Definition
create.h:62
MMFF94Parameters.h
forceField.h
forceFieldComponent.h
BALL
Definition
constants.h:13
BALL::Atom
Definition
atom.h:90
BALL::TVector3< float >
BALL::ForceField
Definition
forceField.h:86
BALL::ForceFieldComponent
Definition
forceFieldComponent.h:35
BALL::MMFF94TorsionParameters
Definition
MMFF94Parameters.h:368
BALL::MMFF94Torsion
Definition
MMFF94Torsion.h:29
BALL::MMFF94Torsion::calculateHeuristic_
bool calculateHeuristic_(const Atom &aj, const Atom &ak, double &v1, double &v2, double &v3)
BALL::MMFF94Torsion::AddDV3_
void AddDV3_(Vector3 &f3, const TVector3< double > d3)
BALL::MMFF94Torsion::torsions_
vector< Torsion > torsions_
Definition
MMFF94Torsion.h:119
BALL::MMFF94Torsion::getV_
double getV_(Position e)
BALL::MMFF94Torsion::getU_
double getU_(Position e)
BALL::MMFF94Torsion::parameters_
MMFF94TorsionParameters parameters_
Definition
MMFF94Torsion.h:120
BALL::MMFF94Torsion::Torsion
see MMFFTOR.PAR
Definition
MMFF94Torsion.h:34
BALL::MMFF94Torsion::Torsion::atom1
Atom * atom1
Definition
MMFF94Torsion.h:38
BALL::MMFF94Torsion::Torsion::heuristic
bool heuristic
Definition
MMFF94Torsion.h:46
BALL::MMFF94Torsion::Torsion::angle
double angle
Definition
MMFF94Torsion.h:45
BALL::MMFF94Torsion::Torsion::atom2
Atom * atom2
Definition
MMFF94Torsion.h:39
BALL::MMFF94Torsion::Torsion::v1
double v1
Definition
MMFF94Torsion.h:42
BALL::MMFF94Torsion::Torsion::energy
double energy
Definition
MMFF94Torsion.h:44
BALL::MMFF94Torsion::Torsion::atom4
Atom * atom4
Definition
MMFF94Torsion.h:41
BALL::MMFF94Torsion::Torsion::type
Index type
Definition
MMFF94Torsion.h:37
BALL::MMFF94Torsion::Torsion::Torsion
Torsion()
BALL::MMFF94Torsion::Torsion::atom3
Atom * atom3
Definition
MMFF94Torsion.h:40
BALL_INDEX_TYPE
BALL_SIZE_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition
COMMON/global.h:50
Generated by
1.9.8