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
nonlocal
SmoothPolicy.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/nonlocal/SmoothPolicy.hh
11
/// @author Christopher Miles (cmiles@uw.edu)
12
13
#ifndef INCLUDED_PROTOCOLS_NONLOCAL_SMOOTHPOLICY_HH
14
#define INCLUDED_PROTOCOLS_NONLOCAL_SMOOTHPOLICY_HH
15
16
// Project headers
17
#include <
core/types.hh
>
18
#include <
core/fragment/FragSet.fwd.hh
>
19
#include <
core/fragment/Frame.fwd.hh
>
20
#include <
core/pose/Pose.fwd.hh
>
21
#include <
protocols/simple_moves/GunnCost.hh
>
22
23
// Package headers
24
#include <
protocols/nonlocal/Policy.hh
>
25
26
#include <utility/vector1.hh>
27
28
29
namespace
protocols {
30
namespace
nonlocal {
31
32
/// @class Implements the Policy interface. Given a Frame, chooses the fragment
33
/// that, when applied to the pose, minimizes total distortion ("smooth move").
34
class
SmoothPolicy
:
public
Policy
{
35
typedef
core::fragment::FragSetCOP
FragSetCOP
;
36
typedef
protocols::simple_moves::GunnCost
GunnCost
;
37
38
public
:
39
40
/// @class Simple container that associates fragment indices with Gunn scores
41
class
Candidate
{
42
public
:
43
Candidate
(
core::Real
score
,
core::Size
fragment_num
)
44
:
score_
(score),
fragment_num_
(fragment_num) {}
45
46
/// @brief Returns the candidate's score
47
core::Real
score
()
const
{
48
return
score_
;
49
}
50
51
/// @brief Returns the candidate's position within the Frame
52
core::Size
fragment_num
()
const
{
53
return
fragment_num_
;
54
}
55
56
private
:
57
core::Real
score_
;
58
core::Size
fragment_num_
;
59
};
60
61
explicit
SmoothPolicy
(
FragSetCOP
fragments
);
62
63
/// @brief Given the current state of <pose>, selects the fragment in <frame>
64
/// that minimizes overall distortion
65
virtual
core::Size
choose
(
const
core::fragment::Frame
& frame,
66
const
core::pose::Pose
&);
67
68
private
:
69
GunnCost
scorer_
;
70
};
71
72
}
// namespace nonlocal
73
}
// namespace protocols
74
75
#endif // PROTOCOLS_NONLOCAL_SMOOTHPOLICY_HH_
Generated on Sat Jun 1 2013 12:01:45 for Rosetta 3.5 by
1.8.4