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
CyclicMover.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 protocols/moves/CyclicMover.hh
11
/// @author Christopher Miles (cmiles@uw.edu)
12
13
#ifndef INCLUDED_PROTOCOLS_MOVES_CYCLICMOVER_HH
14
#define INCLUDED_PROTOCOLS_MOVES_CYCLICMOVER_HH
15
16
// Unit header
17
#include <
protocols/moves/CyclicMover.fwd.hh
>
18
19
// C/C++ headers
20
#include <string>
21
#include <vector>
22
23
// Project headers
24
#include <
core/pose/Pose.fwd.hh
>
25
26
// Package headers
27
#include <
protocols/moves/Mover.hh
>
28
29
#include <utility/vector1.hh>
30
31
32
namespace
protocols {
33
namespace
moves {
34
35
/// @detail A simple class for cycling between movers in consecutive calls to apply()
36
class
CyclicMover
:
public
Mover
{
37
typedef
std::vector<MoverOP>
Movers
;
38
39
public
:
40
/// @brief Creates a new instance with no enqueued movers
41
CyclicMover
();
42
43
/// @brief Enqueue the specified mover for execution
44
void
enqueue
(
MoverOP
mover);
45
46
// -- mover -- //
47
std::string
get_name
()
const
;
48
void
apply
(
core::pose::Pose
& pose);
49
50
// -- jd2 -- //
51
MoverOP
clone
()
const
;
52
MoverOP
fresh_instance
()
const
;
53
54
private
:
55
/// @brief Tracks the number of calls to apply()
56
long
iterations_
;
57
58
/// @brief List of movers, which are executed in order in consecutive calls to apply()
59
Movers
movers_
;
60
};
61
62
}
// namespace moves
63
}
// namespace protocols
64
65
#endif // PROTOCOLS_MOVES_CYCLIC_MOVER_HH_
Generated on Sat Jun 1 2013 12:00:14 for Rosetta 3.5 by
1.8.4