IMP
2.3.1
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
RemoveRigidMotionOptimizerState.h
Go to the documentation of this file.
1
/**
2
* \file IMP/atom/RemoveRigidMotionOptimizerState.h
3
* \brief Remove rigid rotation and translation during molecular dynamics.
4
*
5
* Copyright 2007-2014 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPATOM_REMOVE_RIGID_MOTION_OPTIMIZER_STATE_H
10
#define IMPATOM_REMOVE_RIGID_MOTION_OPTIMIZER_STATE_H
11
12
#include <IMP/atom/atom_config.h>
13
#include <
IMP/kernel/Particle.h
>
14
#include <
IMP/base_types.h
>
15
#include <
IMP/OptimizerState.h
>
16
17
IMPATOM_BEGIN_NAMESPACE
18
19
//! Removes rigid translation and rotation from the particles.
20
class
IMPATOMEXPORT
RemoveRigidMotionOptimizerState
:
public
OptimizerState
{
21
public
:
22
RemoveRigidMotionOptimizerState
(
kernel::Model
*m,
23
kernel::ParticleIndexesAdaptor
pis);
24
25
//! Set the particles to use.
26
void
set_particles
(
const
kernel::Particles
&pis) { pis_ = pis; }
27
28
//! Remove rigid motion now
29
void
remove_rigid_motion()
const
;
30
31
IMP_OBJECT_METHODS
(
RemoveRigidMotionOptimizerState
);
32
33
protected
:
34
virtual
void
do_update
(
unsigned
int
call)
IMP_OVERRIDE
;
35
36
private
:
37
void
remove_linear()
const
;
38
void
remove_angular()
const
;
39
kernel::Particles
pis_;
40
41
//! Keys of the xyz velocities
42
FloatKey
vs_[3];
43
};
44
45
IMP_OBJECTS
(
RemoveRigidMotionOptimizerState
,
RemoveRigidMotionOptimizerStates
);
46
47
IMPATOM_END_NAMESPACE
48
49
#endif
/* IMPATOM_REMOVE_RIGID_MOTION_OPTIMIZER_STATE_H */
IMP::kernel::Key< 0, true >
base_types.h
Import IMP/kernel/base_types.h in the namespace.
IMP::kernel::OptimizerState::do_update
virtual void do_update(unsigned int)
Definition:
kernel/OptimizerState.h:119
IMP::atom::RemoveRigidMotionOptimizerState::set_particles
void set_particles(const kernel::Particles &pis)
Set the particles to use.
Definition:
RemoveRigidMotionOptimizerState.h:26
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::kernel::OptimizerState
Shared optimizer state that is invoked upon commitment of new coordinates.
Definition:
kernel/OptimizerState.h:43
IMP::base::Vector< base::Pointer< Particle > >
IMP::kernel::ParticleIndexesAdaptor
Definition:
kernel/particle_index.h:50
IMP::atom::RemoveRigidMotionOptimizerState
Removes rigid translation and rotation from the particles.
Definition:
RemoveRigidMotionOptimizerState.h:20
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions in in int...
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition:
object_macros.h:52
OptimizerState.h
Import IMP/kernel/OptimizerState.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