Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OccludedHbondSolEnergy_onebody.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 /// @file core/scoring/geometric_solvation/OccludedHbondSolEnergy_onebody.hh
10 /// @brief Solvation model based on penalizing potential for Hbonding to solvent
11 /// @author John Karanicolas
12 
13 
14 #ifndef INCLUDED_core_scoring_geometric_solvation_OccludedHbondSolEnergy_onebody_hh
15 #define INCLUDED_core_scoring_geometric_solvation_OccludedHbondSolEnergy_onebody_hh
16 
17 #include <core/types.hh>
18 
19 // Unit Headers
21 
22 // Package headers
23 
27 
28 // Project headers
29 #include <core/pose/Pose.fwd.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 //#include <core/scoring/EnergyMap.hh>
35 
36 namespace core {
37 namespace scoring {
38 namespace geometric_solvation {
39 
40 
42 public:
44 
45 public:
46 
47  OccludedHbondSolEnergy_onebody( methods::EnergyMethodOptions const & options, bool const verbose = false );
48 
50 
51  virtual
53  clone() const;
54 
55  virtual void setup_for_scoring( pose::Pose & pose, ScoreFunction const & ) const;
56 
57  virtual void setup_for_packing(pose::Pose & pose, utility::vector1< bool > const &, utility::vector1< bool > const & ) const;
58 
59  virtual void setup_for_derivatives( pose::Pose &pose, ScoreFunction const & ) const;
60 
61  virtual void setup_for_minimizing(pose::Pose & pose, ScoreFunction const & , kinematics::MinimizerMapBase const &) const;
62 
63  virtual void residue_energy(
64  conformation::Residue const & polar_rsd,
65  pose::Pose const & pose,
66  EnergyMap & emap
67  ) const;
68 
70 
71  // note intrares_energy *is* included, but just as part of residue_energy and not as a separate function
72  virtual bool defines_intrares_energy( EnergyMap const & ) const { return false; };
73 
74  virtual Distance atomic_interaction_cutoff() const;
75 
76 private:
77 
78  Real
80  conformation::Residue const & polar_rsd,
81  conformation::Residue const & occ_rsd ) const;
82 
83  void
85  Size const don_h_atom,
86  Size const don_base_atom,
87  conformation::Residue const & don_rsd,
88  Size const occ_atom,
89  conformation::Residue const & occ_rsd,
90  Real & energy
91  ) const;
92 
93  Real
95  Vector const & base_atom_xyz,
96  Vector const & polar_atom_xyz,
97  Vector const & occluding_atom_xyz ) const;
98 
99  bool
100  atom_is_donor_h( conformation::Residue const & rsd, Size const atom ) const;
101 
102  bool
103  atom_is_acceptor( conformation::Residue const & rsd, Size const atom ) const;
104 
105  bool
106  atom_is_valid_base( conformation::Residue const & rsd, Size const atom ) const;
107 
108 
109 private:
110 
111  // const-ref to scoring database
113 
114  bool const verbose_;
115 virtual
116 core::Size version() const;
117 
118 };
119 
120 } // geometric_solvation
121 } // scoring
122 } // core
123 
124 #endif
125