Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NumberHBondsCalculator.hh
Go to the documentation of this file.
1 // (c) Copyright Rosetta Commons Member Institutions.
2 // (c) This file is part of the Rosetta software suite and is made available under license.
3 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6 
7 /// @file /src/protocols/toolbox/PoseMetricCalculators/NumberHBondsCalculator.hh
8 /// @brief
9 /// @author Florian Richter
10 
11 
12 #ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_NumberHBondsCalculator_hh
13 #define INCLUDED_protocols_toolbox_pose_metric_calculators_NumberHBondsCalculator_hh
14 
16 #include <core/pose/Pose.fwd.hh>
17 #include <core/types.hh>
18 #include <basic/MetricValue.fwd.hh>
19 #include <core/id/AtomID_Map.hh>
20 //#include <core/scoring/EnergyGraph.hh>
24 
25 // AUTO-REMOVED #include <utility/vector1.hh>
26 
27 #include <set>
28 
29 #include <utility/vector1.hh>
30 
31 
32 namespace protocols{
33 namespace toolbox {
34 namespace pose_metric_calculators {
35 
37 
38 public:
39 
40 
42  hb_database( core::scoring::hbonds::HBondDatabase::get_database( "standard_params" ) )
43  {};
44 
45  NumberHBondsCalculator( std::set< core::Size > special_region ) :
46  hb_database( core::scoring::hbonds::HBondDatabase::get_database( "standard_params" ) ),
47  special_region_(special_region)
48  {};
49 
50 
52 
53  static core::Real
55 
56 protected:
57 
58  virtual void lookup( std::string const & key, basic::MetricValueBase * valptr ) const;
59  virtual std::string print( std::string const & key ) const;
60  virtual void recompute( core::pose::Pose const & this_pose );
61 
62  void
64  core::pose::Pose const & pose,
65  utility::vector1< bool > & res_to_recompute
66  );
67 
68  void
70  core::pose::Pose const & pose,
71  core::Size i,
72  utility::vector1< bool > const & res_to_recompute,
74  );
75 
76 private:
77 
81 
84 
85  //holds the calculated energies to prevent unnecessary recalculation
87 
88  std::set< core::Size > special_region_;
89 };
90 
91 
92 } // namespace pose_metric_calculators
93 } // namespace toolbox
94 } // namespace protocols
95 
96 #endif