IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ImproperSingletonScore.h
Go to the documentation of this file.
1
/**
2
* \file IMP/atom/ImproperSingletonScore.h
3
* \brief A score on the deviation of an improper angle from ideality.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPATOM_IMPROPER_SINGLETON_SCORE_H
9
#define IMPATOM_IMPROPER_SINGLETON_SCORE_H
10
11
#include <IMP/atom/atom_config.h>
12
#include "
bond_decorators.h
"
13
#include <
IMP/SingletonScore.h
>
14
#include <
IMP/UnaryFunction.h
>
15
#include <
IMP/Pointer.h
>
16
17
IMPATOM_BEGIN_NAMESPACE
18
19
//! Score the improper dihedral based on a UnaryFunction,
20
/** This scores the improper dihedral using information stored in its
21
Dihedral decorator. The score is based on the difference between the
22
stored ideal improper angle and the actual angle and scaled by the
23
stiffness. That is stiffness * (improper_angle-ideal_value). The
24
difference is in radians between -pi and +pi; it is the shortest
25
distance from one angle to the other.
26
27
\note The multiplicity of the the Dihedral is not used.
28
29
\see CHARMMTopology::add_impropers(), Dihedral.
30
*/
31
class
IMPATOMEXPORT
ImproperSingletonScore
:
public
SingletonScore
32
{
33
IMP::OwnerPointer<UnaryFunction> f_;
34
public
:
35
//! Use f to penalize deviations in angle
36
ImproperSingletonScore
(
UnaryFunction
*f);
37
IMP_SINGLETON_SCORE
(
ImproperSingletonScore
);
38
};
39
40
IMP_OBJECTS
(
ImproperSingletonScore
,
ImproperSingletonScores
);
41
42
IMPATOM_END_NAMESPACE
43
44
#endif
/* IMPATOM_IMPROPER_SINGLETON_SCORE_H */