IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
isd
WeightMover.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/WeightMover.h
3
* \brief A mover that transforms a rigid body
4
*
5
* Copyright 2007-2015 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPISD_WEIGHT_MOVER_H
10
#define IMPISD_WEIGHT_MOVER_H
11
12
#include "isd_config.h"
13
#include <
IMP/core/MonteCarloMover.h
>
14
#include <
IMP/algebra/VectorD.h
>
15
#include <
IMP/isd/Weight.h
>
16
17
IMPISD_BEGIN_NAMESPACE
18
19
//! Modify the transformation of a rigid body
20
/** The transformation of a rigid body is moved in a ball of given
21
size. The probability distribution is uniform over the ball.
22
\see MonteCarlo
23
*/
24
class
IMPISDEXPORT
WeightMover
:
public
core::MonteCarloMover
{
25
public
:
26
/** Mover for weight decorator
27
\param[in] w particle
28
\param[in] radius maximum radius of displacement
29
*/
30
WeightMover
(
kernel::Particle
*w,
Float
radius);
31
void
set_radius(
Float
radius) { radius_ = radius; }
32
Float
get_radius() {
return
radius_; }
33
34
protected
:
35
virtual
kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE
;
36
virtual
core::MonteCarloMoverResult
do_propose
()
IMP_OVERRIDE
;
37
virtual
void
do_reject
()
IMP_OVERRIDE
;
38
IMP_OBJECT_METHODS
(
WeightMover
);
39
40
private
:
41
Weight
w_;
42
algebra::VectorKD
oldweights_;
43
Float
radius_;
44
};
45
46
IMPISD_END_NAMESPACE
47
48
#endif
/* IMPISD_WEIGHT_MOVER_H */
IMP::isd::Weight
Add weights for a set of states to a particle.
Definition:
Weight.h:24
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::core::MonteCarloMover::do_reject
virtual void do_reject()=0
Implement reset_proposed_move()
IMP::core::MonteCarloMoverResult
Definition:
MonteCarloMover.h:29
IMP::base::Vector
Definition:
Vector.h:37
IMP::core::MonteCarloMover
A base class for classes which perturb particles.
Definition:
MonteCarloMover.h:41
MonteCarloMover.h
The base class for movers for MC optimization.
VectorD.h
Simple D vector class.
IMP::core::MonteCarloMover::do_propose
virtual MonteCarloMoverResult do_propose()=0
Implement propose_move()
IMP::isd::WeightMover
Modify the transformation of a rigid body.
Definition:
WeightMover.h:24
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:37
Weight.h
Add weights for a set of states to a particle.
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::Float
double Float
Basic floating-point value (could be float, double...)
Definition:
types.h:20
IMP::algebra::VectorKD
VectorD<-1 > VectorKD
Definition:
VectorD.h:411
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:75