Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymAtomTreeMultifunc.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/optimization/AtomTreeMultifunc.hh
10 /// @brief Atom tree multifunction class for symmetrical minimization
11 /// @author Ingemar Andre
12 
13 #ifndef INCLUDED_core_optimization_symmetry_SymAtomTreeMultifunc_hh
14 #define INCLUDED_core_optimization_symmetry_SymAtomTreeMultifunc_hh
15 
16 // Package headers
19 // AUTO-REMOVED #include <core/optimization/MinimizerMap.hh>
20 // AUTO-REMOVED #include <core/optimization/symmetry/sym_atom_tree_minimize.hh>
21 
22 // Project headers
23 #include <core/pose/Pose.fwd.hh>
25 
26 #include <core/kinematics/Jump.hh>
28 #include <utility/vector1.hh>
29 
30 
31 namespace core {
32 namespace optimization {
33 namespace symmetry {
34 
35 /// @brief Atom tree multifunction class
37 
38 public: // Creation
39 
40  // c-tor
42  pose::Pose & pose_in,
43  SymMinimizerMap & symm_min_map,
44  scoring::ScoreFunction const & scorefxn_in,
45  bool const deriv_check_in = false,
46  bool const deriv_check_verbose_in = false
47  ):
48  pose_( pose_in ),
49  symm_min_map_( symm_min_map ),
50  score_function_( scorefxn_in ),
51  deriv_check_( deriv_check_in ),
52  deriv_check_verbose_( deriv_check_verbose_in )
53  {}
54 
55 
56 
57  /// @brief Destructor
58  inline
59  virtual
61  {}
62 
63 
64 public: // Methods
65 
66 
67  // func
68  virtual
69  Real
70  operator ()( Multivec const & vars ) const;
71 
72  // dfunc
73  virtual
74  void
75  dfunc( Multivec const & vars, Multivec & dE_dvars ) const;
76 
77  /// @brief Error state reached; dump out current pdb.
78  virtual
79  void
80  dump( Multivec const & vars, Multivec const & vars2 ) const;
81 
82 private: // data
83 
84  /// non-const since pose_ is modified by calls to operator()
86 
87  /// non-const since min_map_ is modified by calls to dfunc()
89 
91 
94 
95 }; // AtomTreeMultifunc
96 
97 } // symmetry
98 } // namespace optimization
99 } // namespace core
100 
101 #endif // INCLUDED_core_optimization_symmetry_SymAtomTreeMultifunc_HH