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
LoopRefineInnerCycleContainer.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/LoopRefineInnerCycleContainer.hh
12
/// @brief This class is a LoopRefineInnerCycle that contains one or more other LoopRefineInnerCycles to allow a developer to
13
/// quickly string together existing LoopRefineInnerCycles in new ways to create new loop refinement protocols.
14
/// @detailed
15
///
16
/// @author Brian D. Weitzner ( brian.weitzner@gmail.com )
17
18
19
#ifndef INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycleContainer_HH
20
#define INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycleContainer_HH
21
22
// Unit headers
23
#include <
protocols/loops/loop_mover/refine/LoopRefineInnerCycleContainer.fwd.hh
>
24
#include <
protocols/loops/loop_mover/refine/LoopRefineInnerCycle.hh
>
25
26
// Package headers
27
28
// Project headers
29
#include <
protocols/moves/MoverContainer.fwd.hh
>
30
31
// Utility headers
32
#include <utility/vector1.fwd.hh>
33
34
// C++ headers
35
#include <iostream>
36
37
namespace
protocols {
38
namespace
loops {
39
namespace
loop_mover {
40
namespace
refine {
41
42
class
LoopRefineInnerCycleContainer
:
public
LoopRefineInnerCycle
{
43
public
:
// boiler plate / virtuals
44
// default constructor
45
LoopRefineInnerCycleContainer
();
46
47
// copy constructor
48
LoopRefineInnerCycleContainer
(
LoopRefineInnerCycleContainer
const
& rhs );
49
50
// assignment operator
51
LoopRefineInnerCycleContainer
&
operator=
(
LoopRefineInnerCycleContainer
const
& rhs );
52
53
// destructor
54
virtual
~LoopRefineInnerCycleContainer
();
55
56
virtual
void
apply
(
Pose
& );
57
virtual
std::string
get_name
()
const
;
58
59
virtual
protocols::moves::MoverOP
clone
()
const
;
60
virtual
protocols::moves::MoverOP
fresh_instance
()
const
;
61
62
///@brief This mover retains state such that a fresh version is needed if the input Pose is about to change
63
virtual
bool
reinitialize_for_new_input
()
const
;
64
65
/// @brief Associates relevant options with the LoopRefineInnerCycleContainer class
66
static
void
register_options
();
67
68
public
:
// printing methods
69
virtual
void
show
( std::ostream & out=std::cout );
70
friend
std::ostream &
operator<<
(std::ostream& out,
LoopRefineInnerCycleContainer
const
& loop_refine_inner_cycle_container );
71
72
public
:
// class-specific public methods
73
void
add_inner_cycle_step
(
LoopRefineInnerCycleOP
inner_cycle_step );
74
75
// overriden methods: Not 'virtual' in the sense that subclasses ought to override them. This is a special case.
76
virtual
void
set_mc
(
moves::MonteCarloOP
mc
);
77
virtual
void
set_scorefxn
(
core::scoring::ScoreFunctionOP
scorefxn
);
78
virtual
void
set_task_factory
(
core::pack::task::TaskFactoryOP
tf );
79
virtual
void
set_loop_mover
(
LoopMover_Refine_CCDAP
new_owner_in_town );
80
81
// This one comes from moves::Mover
82
virtual
void
set_native_pose
(
PoseCOP
pose );
83
84
private
:
// methods
85
void
setup_objects
(
Pose
const
& pose );
86
void
init
();
87
void
init_for_equal_operator_and_copy_constructor
(
LoopRefineInnerCycleContainer
& lhs,
LoopRefineInnerCycleContainer
const
& rhs);
88
void
init_options
();
89
90
private
:
// data
91
typedef
utility::vector1< LoopRefineInnerCycleOP >
InnerCycleList
;
92
InnerCycleList
inner_cycle_list_
;
93
moves::SequenceMoverOP
inner_cycle_steps_
;
94
95
};
// class LoopRefineInnerCycleContainer
96
97
}
// namespace refine
98
}
// namespace loop_mover
99
}
// namespace loops
100
}
// namespace protocols
101
102
#endif // INCLUDED_protocols_loops_loop_mover_refine_LoopRefineInnerCycleContainer_HH
Generated on Sat Jun 1 2013 11:58:54 for Rosetta 3.5 by
1.8.4