Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FastDensEnergy.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/FastDensEnergy.hh
11 /// @brief Scoring a structure's fit to electron density
12 /// @author Frank DiMaio
13 
14 #ifndef INCLUDED_core_scoring_electron_density_FastDensEnergy_hh
15 #define INCLUDED_core_scoring_electron_density_FastDensEnergy_hh
16 
18 
20 
21 // Project headers
22 #include <core/pose/Pose.fwd.hh>
23 
24 #include <utility/vector1.hh>
25 
26 
27 // Utility headers
28 
29 namespace core {
30 namespace scoring {
31 namespace electron_density {
32 
33 ///
35 public:
37 
38 public:
39 
40  ///
42 
43 
44  /// clone
45  virtual
47  clone() const;
48 
49  /////////////////////////////////////////////////////////////////////////////
50  // scoring
51  /////////////////////////////////////////////////////////////////////////////
52 
54  long_range_type() const;
55 
56 
57  virtual
58  bool
60  pose::Pose const & pose,
61  Size res1,
62  Size res2
63  ) const;
64 
65  virtual
66  void
67  setup_for_scoring( pose::Pose & pose, ScoreFunction const & ) const;
68 
69  virtual
70  void
71  setup_for_derivatives( pose::Pose & pose, ScoreFunction const & sf) const;
72 
73  virtual
74  bool
75  defines_intrares_energy( EnergyMap const & ) const { return true; }
76 
77  /// @brief Evaluate the intra-residue constraint energy for a given residue
78  virtual
79  void
81  conformation::Residue const & rsd,
82  pose::Pose const & pose,
83  ScoreFunction const & sfxn,
84  EnergyMap & emap
85  ) const ;
86 
87  ///
88  virtual
89  void
91  conformation::Residue const & rsd1,
92  conformation::Residue const & rsd2,
93  pose::Pose const & pose,
94  ScoreFunction const & sfxn,
95  EnergyMap & emap
96  ) const;
97 
99 
100  /// called at the end of energy evaluation
101  virtual
102  void
104  pose::Pose const & pose,
105  ScoreFunction const &,
106  EnergyMap & totals
107  ) const;
108 
109 
110  /// called during gradient-based minimization inside dfunc
111  /**
112  F1 and F2 are not zeroed -- contributions from this atom are
113  just summed in
114  **/
115  virtual
116  void
118  id::AtomID const & id,
119  pose::Pose const & pose,
120  kinematics::DomainMap const &, // domain_map,
121  ScoreFunction const & sfxn,
122  EnergyMap const & weights,
123  Vector & F1,
124  Vector & F2
125  ) const;
126 
127 
128  virtual
129  void indicate_required_context_graphs( utility::vector1< bool > & /*context_graphs_required*/ ) const {};
130 
131  /////////////////////////////////////////////////////////////////////////////
132  // data
133  /////////////////////////////////////////////////////////////////////////////
134 
135 
136 private:
137  bool map_loaded;
138  mutable bool pose_is_proper;
139  virtual
140  core::Size version() const;
141 };
142 
143 
144 /////////////////////////////// ///////////////////////////////
145 /////////////////////////////// ///////////////////////////////
146 /////////////////////////////// ///////////////////////////////
147 
148 
149 /*
150 ///
151 class ElecDensCentroidEnergy : public methods::ContextDependentLRTwoBodyEnergy {
152 public:
153 
154  ///
155  // Not defined yet, commenting out to make python bingings compile
156  ElecDensCentroidEnergy( method::EnergyMethod);
157 
158  // Not defined yet, commenting out to make python bingings compile
159  /// clone
160  //virtual EnergyMethodOP clone() const;
161 
162  /////////////////////////////////////////////////////////////////////////////
163  // scoring
164  /////////////////////////////////////////////////////////////////////////////
165 
166  // Not defined yet, commenting out to make python bingings compile
167  // methods::LongRangeEnergyType long_range_type() const;
168 
169  // Not defined yet, commenting out to make python bingings compile
170  //virtual bool defines_residue_pair_energy(pose::Pose const & pose, Size res1, Size res2) const;
171 
172  virtual void setup_for_scoring( pose::Pose & pose, ScoreFunction const & ) const;
173 
174  // Not defined yet, commenting out to make python bingings compile
175  //virtual void setup_for_derivatives( pose::Pose & pose, ScoreFunction const & sf) const;
176 
177  virtual bool defines_intrares_energy( EnergyMap const & ) const { return true; }
178 
179  /// @brief Evaluate the intra-residue constraint energy for a given residue
180  virtual void eval_intrares_energy(
181  conformation::Residue const & rsd,
182  pose::Pose const & pose,
183  ScoreFunction const & sfxn,
184  EnergyMap & emap
185  ) const ;
186 
187 
188  ///
189  // Not defined yet, commenting out to make python bingings compile
190  // virtual void residue_pair_energy(
191  // conformation::Residue const & rsd1,
192  // conformation::Residue const & rsd2,
193  // pose::Pose const & pose,
194  // ScoreFunction const & sfxn,
195  // EnergyMap & emap
196  //) const;
197 
198  /// called at the end of energy evaluation
199  virtual void finalize_total_energy(
200  pose::Pose const & pose,
201  ScoreFunction const &,
202  EnergyMap & totals
203  ) const;
204 
205 
206  /// called during gradient-based minimization inside dfunc
207  virtual void eval_atom_derivative(
208  id::AtomID const & id,
209  pose::Pose const & pose,
210  kinematics::DomainMap const &, // domain_map,
211  ScoreFunction const & sfxn,
212  EnergyMap const & weights,
213  Vector & F1,
214  Vector & F2
215  ) const;
216 
217 
218  virtual void indicate_required_context_graphs( utility::vector1< bool > & context_graphs_required ) const;
219 
220  /////////////////////////////////////////////////////////////////////////////
221  // data
222  /////////////////////////////////////////////////////////////////////////////
223 
224 
225 private:
226  bool map_loaded;
227  mutable bool pose_is_proper;
228  mutable double structure_score;
229 };
230 */
231 
232 }
233 }
234 }
235 
236 #endif
237