Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
moves
IteratedConvergenceMover.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file src/protocols/moves/IteratedConvergenceMover.hh
11
/// @brief Mover class to repeatedly apply a submover until filter convergence is reached
12
/// @author Rocco Moretti (rmoretti@u.washington.edu)
13
14
#ifndef INCLUDED_protocols_moves_IteratedConvergenceMover_hh
15
#define INCLUDED_protocols_moves_IteratedConvergenceMover_hh
16
17
// Unit headers
18
#include <
protocols/moves/IteratedConvergenceMover.fwd.hh
>
19
#include <
protocols/moves/Mover.hh
>
20
21
// Project headers
22
23
#include <
core/pose/Pose.fwd.hh
>
24
#include <
protocols/filters/Filter.fwd.hh
>
25
#include <utility/tag/Tag.fwd.hh>
26
27
#include <utility/vector1.hh>
28
29
30
namespace
protocols {
31
namespace
moves {
32
33
/// @brief A mover that repeatedly applies a sub-mover (up to a given maximum)
34
/// until the given filter returns values within a certain delta for a given
35
/// number of cycles.
36
class
IteratedConvergenceMover
:
public
Mover
{
37
public
:
38
39
public
:
40
///@brief default constructor
41
IteratedConvergenceMover
();
42
43
IteratedConvergenceMover
(
MoverOP
submover
,
filters::FilterCOP
filter
,
core::Real
delta
=0.1,
core::Size
cycles
=1,
core::Size
maxcycles
=1000 );
44
45
// destructor (important for properly forward-declaring smart-pointer members)
46
virtual
~IteratedConvergenceMover
();
47
48
// copy constructor
49
IteratedConvergenceMover
(
IteratedConvergenceMover
const
& other );
50
51
// methods
52
virtual
void
apply
(
Pose
& pose );
53
virtual
std::string
get_name
()
const
;
54
55
///@brief parse XML (specifically in the context of the parser/scripting scheme)
56
virtual
void
parse_my_tag
(
57
TagPtr
const
,
58
DataMap
&,
59
Filters_map
const
&,
60
Movers_map
const
&,
61
Pose
const
& );
62
63
///@brief required in the context of the parser/scripting scheme
64
virtual
MoverOP
fresh_instance
()
const
;
65
66
///@brief required in the context of the parser/scripting scheme
67
virtual
MoverOP
clone
()
const
;
68
69
// setters
70
void
submover
(
MoverOP
mover );
71
void
filter
(
filters::FilterCOP
filter );
72
void
delta
(
core::Real
delta
);
73
void
cycles
(
core::Size
cycles
);
74
void
maxcycles
(
core::Size
maxcycles
);
75
76
// accessors
77
MoverOP
submover
()
const
;
78
filters::FilterCOP
filter
()
const
;
79
core::Real
delta
()
const
;
80
core::Size
cycles
()
const
;
81
core::Size
maxcycles
()
const
;
82
83
private
:
84
MoverOP
submover_
;
85
filters::FilterCOP
filter_
;
86
core::Real
delta_
;
87
core::Size
cycles_
;
88
core::Size
maxcycles_
;
89
90
};
91
92
93
}
// moves
94
}
// protocols
95
96
#endif
Generated on Sat Jun 1 2013 12:00:19 for Rosetta 3.5 by
1.8.4