IMP
2.1.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
WeightMover.h
Go to the documentation of this file.
1
/**
2
* \file isd/WeightMover.h
3
* \brief A mover that transform a rigid body
4
*
5
* Copyright 2007-2013 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
{
26
public
:
27
/** Mover for weight decorator
28
\param[in] w particle
29
\param[in] radius maximum radius of displacement
30
*/
31
WeightMover
(
kernel::Particle
*w,
Float
radius);
32
33
protected
:
34
virtual
kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE;
35
virtual
core::MonteCarloMoverResult
do_propose
() IMP_OVERRIDE;
36
virtual
void
do_reject
() IMP_OVERRIDE;
37
IMP_OBJECT_METHODS
(
WeightMover
);
38
private
:
39
Weight
w_;
40
algebra::VectorKD
oldweights_;
41
Float
radius_;
42
};
43
44
IMPISD_END_NAMESPACE
45
46
#endif
/* IMPISD_WEIGHT_MOVER_H */
IMP::isd::Weight
Add weights for a set of states to a particle.
Definition:
Weight.h:24
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:
base/Vector.h:37
IMP::algebra::VectorD
A Cartesian vector in D-dimensions.
Definition:
VectorD.h:48
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_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
base/object_macros.h:25
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/declare_Particle.h:34
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:
base/types.h:20