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
loops
loop_mover
refine
LoopRefineInnerCycle.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
6
// (c) under license. The Rosetta software is developed by the contributing
7
// (c) members of the Rosetta Commons. For more information, see
8
// (c) http://www.rosettacommons.org. Questions about this can be addressed to
9
// (c) University of Washington UW TechTransfer, email:license@u.washington.edu
10
11
/// @file protocols/loops/loop_mover/refine/LoopRefineInnerCycle.hh
12
/// @brief Abstract class to define interface for all types of "inner cycle" operations used for loop refinement.
13
/// @detailed
14
///
15
/// @author Brian D. Weitzner ( brian.weitzner@gmail.com )
16
17
18
#ifndef INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycle_HH
19
#define INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycle_HH
20
21
// Unit headers
22
#include <
protocols/loops/loop_mover/refine/LoopRefineInnerCycle.fwd.hh
>
23
#include <
protocols/moves/Mover.hh
>
24
25
// Package headers
26
// #include <protocols/loops/loop_mover/LoopMover.fwd.hh>
27
#include <
protocols/loops/loop_mover/refine/LoopMover_CCD.fwd.hh
>
28
#include <
protocols/loops/Loops.fwd.hh
>
29
30
// Project headers
31
#include <
core/kinematics/MoveMap.fwd.hh
>
32
#include <
core/pack/task/TaskFactory.fwd.hh
>
33
#include <
core/scoring/ScoreFunction.fwd.hh
>
34
#include <
protocols/moves/MonteCarlo.fwd.hh
>
35
36
// Utility headers
37
#include <utility/vector1.fwd.hh>
38
39
// C++ headers
40
#include <iostream>
41
42
namespace
protocols {
43
namespace
loops {
44
namespace
loop_mover {
45
namespace
refine {
46
47
class
LoopRefineInnerCycle
:
public
moves::Mover
{
48
public
:
// boiler plate / virtuals
49
// default constructor
50
LoopRefineInnerCycle
();
51
52
// copy constructor
53
LoopRefineInnerCycle
(
LoopRefineInnerCycle
const
& rhs );
54
55
// assignment operator
56
LoopRefineInnerCycle
&
operator=
(
LoopRefineInnerCycle
const
& rhs );
57
58
// destructor
59
virtual
~LoopRefineInnerCycle
();
60
61
// constructor with arguments
62
LoopRefineInnerCycle
(
63
LoopMover_Refine_CCDAP
loop_mover
,
64
moves::MonteCarloOP
mc
,
65
core::scoring::ScoreFunctionOP
scorefxn
,
66
core::pack::task::TaskFactoryOP
tf
67
);
68
69
virtual
void
apply
(
Pose
& ) = 0;
70
virtual
std::string
get_name
()
const
;
71
72
///@brief This mover retains state such that a fresh version is needed if the input Pose is about to change
73
virtual
bool
reinitialize_for_new_input
()
const
;
74
75
/// @brief Associates relevant options with the LoopRefineInnerCycle class
76
static
void
register_options
();
77
78
// NOTE: The clone() and fresh_instance() virtual methods are omitted because this class is abstract
79
80
public
:
// printing methods
81
virtual
void
show
( std::ostream & out=std::cout );
82
friend
std::ostream &
operator<<
(std::ostream& out,
LoopRefineInnerCycle
const
& loop_refine_inner_cycle );
83
84
public
:
// class-specific public methods
85
bool
debug
()
const
;
86
void
set_debug
(
bool
debug );
87
88
moves::MonteCarloOP
mc
()
const
;
89
virtual
void
set_mc
(
moves::MonteCarloOP
mc);
90
91
core::scoring::ScoreFunctionOP
scorefxn
()
const
;
92
virtual
void
set_scorefxn
(
core::scoring::ScoreFunctionOP
scorefxn);
93
94
core::pack::task::TaskFactoryOP
task_factory
()
const
;
95
virtual
void
set_task_factory
(
core::pack::task::TaskFactoryOP
tf );
96
97
LoopMover_Refine_CCDAP
loop_mover
()
const
;
98
virtual
void
set_loop_mover
(
LoopMover_Refine_CCDAP
new_owner_in_town );
99
100
protected
:
101
core::kinematics::MoveMapOP
movemap
()
const
;
102
void
set_movemap
(
core::kinematics::MoveMapOP
movemap );
103
104
Loops
get_one_random_loop
()
const
;
105
106
void
setup_objects
(
Pose
const
& pose );
107
108
private
:
// methods
109
void
init
();
110
void
init
(
111
LoopMover_Refine_CCDAP
loop_mover,
112
moves::MonteCarloOP
mc,
113
core::scoring::ScoreFunctionOP
scorefxn,
114
core::pack::task::TaskFactoryOP
tf
115
);
116
117
void
init_for_equal_operator_and_copy_constructor
(
LoopRefineInnerCycle
& lhs,
LoopRefineInnerCycle
const
& rhs);
118
void
init_options
();
119
120
private
:
// data
121
bool
debug_
;
122
123
LoopMover_Refine_CCDAP
loop_mover_that_owns_me_
;
// access pointer prevents strong reference cycle
124
moves::MonteCarloOP
mc_
;
125
core::scoring::ScoreFunctionOP
scorefxn_
;
126
core::pack::task::TaskFactoryOP
tf_
;
127
128
mutable
core::kinematics::MoveMapOP
movemap_
;
129
130
};
// class LoopRefineInnerCycle
131
132
}
// namespace refine
133
}
// namespace loop_mover
134
}
// namespace loops
135
}
// namespace protocols
136
137
#endif // INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycle_HH
Generated on Sat Jun 1 2013 11:58:54 for Rosetta 3.5 by
1.8.4