Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OrbitalsScore.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 #ifndef INCLUDED_core_scoring_orbitals_OrbitalsScore_hh
11 #define INCLUDED_core_scoring_orbitals_OrbitalsScore_hh
12 
14 #include <core/pose/Pose.fwd.hh>
15 // AUTO-REMOVED #include <numeric/xyzVector.hh>
18 // AUTO-REMOVED #include <core/scoring/etable/EtableEnergy.hh>
19 // AUTO-REMOVED #include <core/scoring/methods/EnergyMethodOptions.hh>
21 
22 
24 #include <map>
25 // AUTO-REMOVED #include <list>
26 
28 #include <utility/vector1.hh>
29 
30 
31 namespace core{
32 namespace scoring{
33 namespace orbitals{
34 
35 
37 public:
39 
40 
41 //virtual functions from score functions
42 public:
44 
45  //clone
46  virtual methods::EnergyMethodOP clone() const;
47 
48  virtual
49  void setup_for_scoring(pose::Pose & pose, ScoreFunction const & weights) const;
50 
51  virtual
52  void setup_for_derivatives( pose::Pose &pose, ScoreFunction const & ) const;
53 
54  virtual
55  void
57  conformation::Residue const & rsd1,
58  conformation::Residue const & rsd2,
62  pose::Pose const &, // provides context
63  EnergyMap const &,
64  utility::vector1< DerivVectorPair > & r1_atom_derivs,
66  ) const;
67 
68  virtual
69  void
71  pose::Pose & pose,
72  ScoreFunction const & ,
74  ) const;
75 
76 
77  virtual
78  void
80  pose::Pose & pose,
81  ScoreFunction const &,
82  EnergyMap &
83  ) const;
84  virtual
85  void
86  finalize_after_derivatives( pose::Pose & pose, ScoreFunction const & ) const;
87 
88 
89  virtual
92  core::pose::Pose const &,
95  ) const;
96 
97  virtual
98  bool defines_intrares_energy(const core::scoring::EnergyMap&) const; //false
99 
100  virtual
101  void residue_pair_energy(
102  core::conformation::Residue const & res1,
103  core::conformation::Residue const & res2,
104  core::pose::Pose const &,
106  EnergyMap & emap
107  ) const;
108 
109  virtual
110  core::Real atomic_interaction_cutoff() const; //set to default
111 
112  virtual
114 
115  virtual
116  bool
118  return false;
119  }
120 
121  virtual
122  void
124  pose::Pose const & pose,
126  ) const;
127 
128  virtual
129  void
131  pose::Pose &,
132  Size resid
133  ) const;
134 
135 public:
136 
137  void get_E_haro_one_way(
138  core::conformation::Residue const & res1,
139  core::conformation::Residue const & res2,
140  core::Real & HARO_sc_H_sc_orb_E
141  ) const;
142 
143  void get_E_hpol_one_way(
144  core::conformation::Residue const & res1,
145  core::conformation::Residue const & res2,
146  core::Real & HPOL_sc_H_sc_orb_E,
147  core::Real & HPOL_bb_H_sc_orb_energy
148  ) const;
149 
150  void get_orb_orb_E(
151  core::conformation::Residue const & res1,
152  core::conformation::Residue const & res2,
153  core::Real & orb_orb_E
154  )const;
156  core::conformation::Residue const & res1,
157  core::Size const & Aindex,
158  numeric::xyzVector<core::Real> const & Axyz, //acceptor xyz
159  numeric::xyzVector<core::Real> const & Hxyz,//hydrogen xyz
160  numeric::xyzVector<core::Real> const & Dxyz, //donor xyz
161  core::Real & sc_energy,
162  core::Real & bb_h_energy,
164  bool bb_h_flag
165  ) const;
166 
168  core::conformation::Residue const & res1,
169  core::conformation::Residue const & res2,
170  EnergyMap const & weights,
171  utility::vector1< DerivVectorPair > & r1_atom_derivs,
172  utility::vector1< DerivVectorPair > & r2_atom_derivs
173  ) const;
174 
176  core::conformation::Residue const & res1,
177  core::conformation::Residue const & res2,
178  EnergyMap const & weights,
179  utility::vector1< DerivVectorPair > & r1_atom_derivs,
180  utility::vector1< DerivVectorPair > & r2_atom_derivs
181 
182  ) const;
183 
184  bool orb_orb_rules(
185  const core::Size orb_type_name1,
186  const core::Size orb_type_name2
187  )const;
188 
189 
190  void assign_orb_H_derivs(
191  core::conformation::Residue const & res1,
192  core::conformation::Residue const & res2,
193  core::Size & atom_index,
194  numeric::xyzVector<core::Real> const & atom_xyz,
195  core::Size const & H_index,
196  numeric::xyzVector<core::Real> const & H_xyz,
198  EnergyMap const & weights,
199  utility::vector1< DerivVectorPair > & r1_atom_derivs,
200  utility::vector1< DerivVectorPair > & r2_atom_derivs
201  )const;
202  void
204  core::conformation::Residue const & res1,
205  core::conformation::Residue const & res2,
206  EnergyMap const & weights,
207  utility::vector1< DerivVectorPair > & r1_atom_derivs,
208  utility::vector1< DerivVectorPair > & r2_atom_derivs
209  )const;
210 
211 //virtual private functions
212 private:
213  virtual core::Size version() const;
214 
215 private:
217  core::Real const max_orbital_dist_squared_;//defaault 4A or 16A squared. based on statistics
218  core::Real nbr_distance_squared_;//default 10A or 100A squared
219  std::map<core::chemical::orbitals::orbital_type_enum, core::Real> min_orb_dist_enum_map_;
220  core::Real max_dist_squared_; //the maximum distance squared which orbitals are scored. based on atom distance
221 
222 
223 
224  //core::scoring::etable::EtableEnergy lookup_Etable_;
225  //core::scoring::etable::EtableCAP etable_;
226  //mutable utility::vector1< utility::vector1< Vector> > orbital_coords_;
227 
228 
229 
230 
231 
232 
233  //
234 
235 
236 };
237 
238 
239 
240 
241 
242 }//namespace orbitals
243 }//namespace scoring
244 }//namespace core
245 
246 
247 
248 #endif /* ORBITALSSCORE_HH_ */