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