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
scoring
hackelec
HackElecEnergyAroAll.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/scoring/methods/HackElecEnergyAroAll.hh
11
/// @brief Electrostatics between aromatics and all surrounding atoms
12
/// @author Rhiju Das, modified to AroAll by James Gleixner
13
14
15
#ifndef INCLUDED_core_scoring_hackelec_HackElecEnergyAroAll_hh
16
#define INCLUDED_core_scoring_hackelec_HackElecEnergyAroAll_hh
17
18
/// Unit Headers
19
#include <
core/scoring/hackelec/HackElecEnergyAroAll.fwd.hh
>
20
21
/// Package Headers
22
#include <
core/scoring/hackelec/HackElecEnergy.hh
>
23
24
#include <
core/scoring/ScoreFunction.fwd.hh
>
25
26
#include <
core/scoring/methods/EnergyMethod.fwd.hh
>
27
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
28
29
30
#include <ObjexxFCL/FArray2D.fwd.hh>
31
32
#include <utility/vector1.hh>
33
34
35
namespace
core {
36
namespace
scoring {
37
namespace
hackelec {
38
39
///
40
class
HackElecEnergyAroAll
:
public
HackElecEnergy
{
41
public
:
42
typedef
HackElecEnergy
parent
;
43
typedef
ContextIndependentTwoBodyEnergy
grandparent
;
44
45
public
:
46
47
///
48
HackElecEnergyAroAll
(
methods::EnergyMethodOptions
const
& options );
49
50
///
51
HackElecEnergyAroAll
(
HackElecEnergyAroAll
const
& src );
52
53
54
/// clone
55
virtual
56
methods::EnergyMethodOP
57
clone
()
const
;
58
59
virtual
60
void
61
setup_for_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
62
63
virtual
64
void
65
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
66
67
///
68
virtual
69
void
70
setup_for_packing
(
pose::Pose
& pose,
utility::vector1< bool >
const
&,
utility::vector1< bool >
const
& )
const
;
71
72
73
/// @brief overrides parent class implementation which would have
74
/// created several tries
75
virtual
76
void
77
prepare_rotamers_for_packing
(
78
pose::Pose
const
& pose,
79
conformation::RotamerSetBase
& set )
const
;
80
81
/// @brief overrides parent class implementation which would have
82
/// updated a trie
83
virtual
84
void
85
update_residue_for_packing
(
pose::Pose
& pose,
Size
resid )
const
;
86
87
/////////////////////////////////////////////////////////////////////////////
88
// scoring
89
/////////////////////////////////////////////////////////////////////////////
90
91
virtual
92
void
93
residue_pair_energy
(
94
conformation::Residue
const
& rsd1,
95
conformation::Residue
const
& rsd2,
96
pose::Pose
const
& pose,
97
ScoreFunction
const
&,
98
EnergyMap
& emap
99
)
const
;
100
101
/// @brief Returns "true" because this energy method has not been updated to
102
/// use the new derivative evaluation machinery. Note that this class requires
103
/// the definition of this method because it's parent class, HackElecEnergy,
104
/// HAS been updated to use the new derivative evaluation machinery, and,
105
/// if this class did not return "true", it would be asked to evaluate derivatives
106
/// in ways it cannot yet evaluate them in.
107
bool
108
minimize_in_whole_structure_context
(
pose::Pose
const
& )
const
{
return
true
; }
109
110
virtual
111
void
112
eval_intrares_energy
(
113
conformation::Residue
const
&,
114
pose::Pose
const
&,
115
ScoreFunction
const
&,
116
EnergyMap
&
117
)
const
{}
118
119
//@brief overrides default rotamer/rotamer energy calculation
120
// and overrides the parent class trie implementatoin
121
virtual
122
void
123
evaluate_rotamer_pair_energies
(
124
conformation::RotamerSetBase
const
& set1,
125
conformation::RotamerSetBase
const
& set2,
126
pose::Pose
const
& pose,
127
ScoreFunction
const
& sfxn,
128
EnergyMap
const
& weights,
129
ObjexxFCL::FArray2D< core::PackerEnergy > & energy_table
130
)
const
;
131
132
133
//@brief overrides default rotamer/background energy calculation
134
// and overrides the parent class trie implementatoin
135
virtual
136
void
137
evaluate_rotamer_background_energies
(
138
conformation::RotamerSetBase
const
& set,
139
conformation::Residue
const
& residue,
140
pose::Pose
const
& pose,
141
ScoreFunction
const
& sfxn,
142
EnergyMap
const
& weights,
143
utility::vector1< core::PackerEnergy >
& energy_vector
144
)
const
;
145
146
147
virtual
148
void
149
eval_atom_derivative
(
150
id::AtomID
const
& atom_id,
151
pose::Pose
const
& pose,
152
kinematics::DomainMap
const
& domain_map,
153
ScoreFunction
const
&,
154
EnergyMap
const
& weights,
155
Vector
& F1,
156
Vector
& F2
157
)
const
;
158
159
virtual
160
bool
161
defines_intrares_energy
(
EnergyMap
const
&
/*weights*/
)
const
{
return
false
; }
162
163
virtual
164
void
indicate_required_context_graphs
(
utility::vector1< bool >
& context_graphs_required )
const
;
165
166
public
:
167
168
169
Real
170
residue_pair_energy_aro_aro
(
171
conformation::Residue
const
& rsd1,
172
conformation::Residue
const
& rsd2,
173
EnergyMap
& emap
174
)
const
;
175
176
void
177
eval_atom_derivative_aro_aro
(
178
conformation::Residue
const
& rsd1,
179
Size
const
& i,
180
conformation::Residue
const
& rsd2,
181
EnergyMap
const
& weights,
182
Vector
& F1,
183
Vector
& F2
184
)
const
;
185
virtual
186
core::Size
version
()
const
;
187
188
};
189
190
191
}
192
}
193
}
194
195
#endif
Generated on Sat Jun 1 2013 11:37:17 for Rosetta 3.5 by
1.8.4