IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
RemoveTranslationOptimizerState.h
Go to the documentation of this file.
1
/**
2
* \file IMP/atom/RemoveTranslationOptimizerState.h
3
* \brief Remove rigid translation during optimization.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPATOM_REMOVE_TRANSLATION_OPTIMIZER_STATE_H
10
#define IMPATOM_REMOVE_TRANSLATION_OPTIMIZER_STATE_H
11
12
#include <IMP/atom/atom_config.h>
13
#include <
IMP/Particle.h
>
14
#include <
IMP/base_types.h
>
15
#include <
IMP/OptimizerState.h
>
16
#include <
IMP/optimizer_state_macros.h
>
17
18
IMPATOM_BEGIN_NAMESPACE
19
20
//! Removes rigid translation from the particles.
21
/** Recenters the bunch of particles by putting the very first particle
22
at the origin and rigidly translating all the others.
23
*/
24
class
IMPATOMEXPORT
RemoveTranslationOptimizerState
:
public
OptimizerState
25
{
26
public
:
27
RemoveTranslationOptimizerState
(
const
Particles &pis,
28
unsigned
skip_steps);
29
30
//! Set the number of update calls to skip between removals.
31
void
set_skip_steps
(
unsigned
skip_steps) {
32
skip_steps_ = skip_steps;
33
}
34
35
//! Get the number of update calls to skip between removals.
36
unsigned
int
get_skip_steps
() {
37
return
skip_steps_;
38
}
39
40
//! Set the particles to use.
41
void
set_particles
(
const
Particles &pis) {
42
pis_=pis;
43
}
44
45
//! Remove translation now
46
void
remove_translation()
const
;
47
48
IMP_OPTIMIZER_STATE
(
RemoveTranslationOptimizerState
);
49
50
private
:
51
Particles pis_;
52
unsigned
skip_steps_;
53
unsigned
call_number_;
54
55
};
56
57
IMP_OBJECTS
(
RemoveTranslationOptimizerState
,
RemoveTranslationOptimizerStates
);
58
59
IMPATOM_END_NAMESPACE
60
61
#endif
/* IMPATOM_REMOVE_TRANSLATION_OPTIMIZER_STATE_H */