IMP
2.3.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
SigmoidRestraintSphere.h
Go to the documentation of this file.
1
/**
2
* \file IMP/pmi/SigmoidRestraintSphere.h
3
* \brief Simple Sigmoidal score calculated between sphere surfaces.
4
*
5
* Copyright 2007-2014 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPPMI_SIGMOID_RESTRAINT_SPHERE_H
10
#define IMPPMI_SIGMOID_RESTRAINT_SPHERE_H
11
#include "pmi_config.h"
12
#include <
IMP/Restraint.h
>
13
#include <
IMP/kernel/particle_index.h
>
14
15
16
IMPPMI_BEGIN_NAMESPACE
17
/** Blah blah.
18
*/
19
20
class
IMPPMIEXPORT
SigmoidRestraintSphere
:
public
Restraint
21
{
22
IMP::kernel::ParticleIndex
p1_;
23
IMP::kernel::ParticleIndex
p2_;
24
double
inflection_;
25
double
slope_;
26
double
amplitude_;
27
double
line_slope_;
28
29
30
31
public
:
32
33
34
//! Create the restraint.
35
/** Restraints should store the particles they are to act on,
36
preferably in a Singleton or PairContainer as appropriate.
37
*/
38
39
SigmoidRestraintSphere
(
IMP::kernel::Model
*m,
40
IMP::kernel::ParticleIndexAdaptor
p1,
41
IMP::kernel::ParticleIndexAdaptor
p2,
42
double
inflection,
double
slope,
43
double
amplitude,
double
line_slope_=0,
44
std::string name=
"SigmoidRestraintSphere%1%"
);
45
46
void
set_amplitude(
double
amplitude){amplitude_=amplitude;}
47
void
increment_amplitude(
double
amplitude){amplitude_=amplitude_+amplitude;}
48
double
get_amplitude(){
return
amplitude_;}
49
50
/** This macro declares the basic needed methods: evaluate and show
51
*/
52
virtual
double
53
unprotected_evaluate(
IMP::kernel::DerivativeAccumulator
*accum)
54
const
IMP_OVERRIDE
;
55
virtual
IMP::kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE
;
56
IMP_OBJECT_METHODS
(
SigmoidRestraintSphere
);
57
58
59
};
60
61
IMPPMI_END_NAMESPACE
62
63
#endif
/* IMPPMI_SIGMOID_RESTRAINT_SPHERE_H */
particle_index.h
Various general useful functions for IMP.
IMP::kernel::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
kernel/DerivativeAccumulator.h:25
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::base::Vector
Definition:
Vector.h:37
IMP::kernel::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
kernel/Restraint.h:52
IMP::pmi::SigmoidRestraintSphere
Definition:
SigmoidRestraintSphere.h:20
IMP::base::Index< ParticleIndexTag >
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
Restraint.h
Import IMP/kernel/Restraint.h in the namespace.
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:75
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73
IMP::kernel::ParticleIndexAdaptor
Definition:
kernel/particle_index.h:32