Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SingleResidueMultifunc.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/optimization/SingleResidueMultifunc.hh
11 ///
12 /// @brief
13 /// @author Ian W. Davis
14 
15 
16 #ifndef INCLUDED_core_optimization_SingleResidueMultifunc_hh
17 #define INCLUDED_core_optimization_SingleResidueMultifunc_hh
18 
20 
21 #include <core/graph/Graph.fwd.hh>
23 
25 // AUTO-REMOVED #include <core/optimization/MinimizerMap.fwd.hh>
26 #include <core/pose/Pose.fwd.hh>
28 
29 #include <utility/vector1.hh>
30 
31 
32 namespace core {
33 namespace optimization {
34 
35 ///@brief A streamlined AtomTreeMultifunc designed specifically for RTMIN.
36 ///
37 ///@details Evaluates only the energies between the specified residue and the rest
38 /// of the Pose, assuming the nbr_atoms do not move (as in rotamer trials and repacking).
39 /// Could probably be sped up further with a customized dfunc().
40 /// DFPMIN seems to spend most of its time in func() rather than dfunc(),
41 /// so there's not as much to gain there anyway.
42 ///
44 {
46 
47 public:
48 
50  pose::Pose & pose_in,
51  Size const rsd_id_in,
52  MinimizerMap & min_map_in,
53  scoring::ScoreFunction const & scorefxn_in,
54  graph::GraphCOP packer_neighbor_graph_in,
55  bool const deriv_check_in = false,
56  bool const deriv_check_verbose_in = false
57  );
58 
59  virtual ~SingleResidueMultifunc();
60 
61  // func
62  virtual
63  Real
64  operator ()( Multivec const & vars ) const;
65 
66 private:
69 
70 }; // SingleResidueMultifunc
71 
72 
73 } // namespace optimization
74 } // namespace core
75 
76 #endif // INCLUDED_core_optimization_SingleResidueMultifunc_HH