Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TaskAwareMinMover.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 /protocols/simple_moves/TaskAwareMinMover.hh
11 /// @brief MinMover which updates MoveMap to mirror PackerTask
12 /// @author Steven Lewis
13 
14 #ifndef INCLUDED_protocols_simple_moves_TaskAwareMinMover_hh
15 #define INCLUDED_protocols_simple_moves_TaskAwareMinMover_hh
16 
17 // Unit Headers
19 
20 // Project Headers
21 #include <core/pose/Pose.fwd.hh>
22 #include <protocols/moves/Mover.hh>
25 
26 //#include <core/pack/task/PackerTask.fwd.hh>
28 
29 #include <utility/vector1.hh>
30 
31 
32 // Utility Headers
33 
34 namespace protocols {
35 namespace simple_moves {
36 
37 ///@details this class wraps MinMover, but ensures that its MoveMap always contains up-to-date information about sidechain mobility. It takes its base movemap, allows sidechain freedom at any position mobile in a Factory-generated PackerTask, and passes the new movemap to MinMover. The MinMover's MoveMap does not accumulate state over many calls to apply().
39 
40 public:
41 
43 
44  ///@brief constructor with TaskFactory
48  );
49 
50  virtual ~TaskAwareMinMover();
51 
52  virtual void apply( core::pose::Pose & pose );
53  virtual std::string get_name() const;
54 
56  virtual protocols::moves::MoverOP clone() const;
57 
58  ///@brief parse XML (specifically in the context of the parser/scripting scheme)
59  virtual void parse_my_tag(
60  TagPtr const,
62  Filters_map const &,
64  Pose const & );
65 
66  virtual void parse_def( utility::lua::LuaObject const & def,
67  utility::lua::LuaObject const & score_fxns,
68  utility::lua::LuaObject const & tasks,
70 
71  ///@brief parse "task_operations" XML option
72  virtual void parse_task_operations(
73  TagPtr const,
75  Filters_map const &,
77  Pose const & );
78 
79  void chi( bool val ) { chi_ = val; }
80  void bb( bool val ) { bb_ = val; }
81  void jump( bool const j ){ jump_ = j; }
82  bool chi() const { return chi_; }
83  bool bb() const { return bb_; }
84  bool jump() const{ return jump_;}
85 
86 private:
87  ///@brief OP for MinMover
89  ///@brief OP for constant task factory for nonconstant tasks, if present
91  bool chi_, bb_, jump_;
92 
93 };//end TaskAwareMinMover
94 
95 }//namespace moves
96 }//namespace protocols
97 
98 #endif // INCLUDED_protocols_simple_moves_TaskAwareMinMover_HH