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
core
pack
annealer
RotamerAssigningAnnealer.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 core/pack/annealer/RotamerAssigningAnnealer.hh
11
/// @brief Residue assigning annealer class declaration
12
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
13
14
#ifndef INCLUDED_core_pack_annealer_RotamerAssigningAnnealer_hh
15
#define INCLUDED_core_pack_annealer_RotamerAssigningAnnealer_hh
16
17
// Unit Headers
18
#include <
core/pack/annealer/RotamerAssigningAnnealer.fwd.hh
>
19
20
// Package Headers
21
#include <
core/pack/annealer/SimAnnealerBase.hh
>
22
#include <
core/pack/rotamer_set/RotamerSetsBase.fwd.hh
>
23
#include <
core/pack/rotamer_set/FixbbRotamerSets.fwd.hh
>
24
25
// AUTO-REMOVED #include <ObjexxFCL/FArray1D.hh>
26
27
#include <utility/vector0.hh>
28
29
#include <utility/vector1.hh>
30
31
32
namespace
core {
33
namespace
pack {
34
namespace
annealer {
35
36
class
RotamerAssigningAnnealer;
37
38
class
RotamerAssigningAnnealer
:
public
SimAnnealerBase
39
{
40
public
:
41
typedef
rotamer_set::FixbbRotamerSetsCOP
FixbbRotamerSetsCOP
;
42
43
public
:
44
RotamerAssigningAnnealer
(
45
int
num_of_rot_to_pack,
46
ObjexxFCL::FArray1D_int &
bestrotamer_at_seqpos
,
47
core::PackerEnergy
&
bestenergy
,
48
bool
start_with_current
,
// start simulation with current rotamers
49
FixbbRotamerSetsCOP
p_rotamer_set,
50
ObjexxFCL::FArray1_int &
current_rot_index
,
51
bool
calc_rot_freq
,
52
ObjexxFCL::FArray1D< core::PackerEnergy > &
rot_freq
53
);
54
55
RotamerAssigningAnnealer
(
56
utility::vector0< int >
&
rot_to_pack
,
57
int
num_of_rot_to_pack,
58
ObjexxFCL::FArray1D_int &
bestrotamer_at_seqpos
,
59
core::PackerEnergy
&
bestenergy
,
60
bool
start_with_current
,
// start simulation with current rotamers
61
FixbbRotamerSetsCOP
p_rotamer_set,
62
ObjexxFCL::FArray1_int &
current_rot_index
,
63
bool
calc_rot_freq
,
64
ObjexxFCL::FArray1D< core::PackerEnergy > &
rot_freq
65
);
66
67
virtual
~RotamerAssigningAnnealer
();
68
69
int
pick_a_rotamer
(
int
cycle );
70
int
pick_a_rotamer_for_node
(
int
node )
const
;
71
72
void
set_assign_state_to_all_nodes_immediately
(
bool
setting );
73
74
protected
:
75
FixbbRotamerSetsCOP
rotamer_sets
()
const
;
76
utility::vector0< int >
const
&
rot_to_pack
()
const
;
77
78
private
:
79
80
void
setup_rots_for_node
(
81
FixbbRotamerSetsCOP
rotamer_sets
82
);
83
84
private
:
85
FixbbRotamerSetsCOP
rotamer_sets_
;
86
utility::vector0< int >
rot_to_pack_
;
87
utility::vector1< utility::vector1< int >
>
rots_for_nodes_
;
88
int
current_to_pick_
;
89
int
n_assigned_at_start_
;
90
bool
assign_state_to_all_nodes_immediately_
;
91
92
};
93
94
}
// ene namespace annealer
95
}
// end namespace pack
96
}
// end namespace core
97
98
#endif
Generated on Sat Jun 1 2013 11:33:11 for Rosetta 3.5 by
1.8.4