Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KinematicTaskControl.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 KinematicTaskCenter
11 /// @brief this class will be handled to a SampleProtocol as a control instance
12 /// @detailed responsibilities:
13 /// know which chainbreaks to penalize and close
14 /// know which jumps to use during sampling, which (if any) to keep after loop-closing
15 /// supply a JumpMover if jumps should be moved
16 /// supply a MoveMap
17 /// supply a "StrictMoveMap": the protocol should not move anything that is dissallowed in strict_movemap(),
18 /// it should try to move just stuff in movemap()
19 /// should this class also know how to ramp score terms ?
20 /// handle the titration of constraints ?
21 /// @author Oliver Lange
22 
23 
24 #ifndef INCLUDED_protocols_abinitio_KinematicTaskControl_hh
25 #define INCLUDED_protocols_abinitio_KinematicTaskControl_hh
26 
27 // Unit Headers
29 
30 // Package Headers
31 // AUTO-REMOVED #include <protocols/jumping/JumpSetup.hh>
36 
37 // Project Headers
38 #include <core/types.hh>
39 #include <core/pose/Pose.fwd.hh>
40 
41 // AUTO-REMOVED #include <protocols/loops/Loops.hh>
42 
43 // ObjexxFCL Headers
44 //#include <ObjexxFCL/FArray1D.hh>
45 //#include <ObjexxFCL/FArray2D.hh>
46 
47 // Utility headers
48 // AUTO-REMOVED #include <utility/vector1.hh>
49 #include <utility/pointer/ReferenceCount.hh>
50 
51 //// C++ headers
52 // AUTO-REMOVED #include <cstdlib>
53 #include <string>
54 
56 #include <utility/vector1.hh>
57 
58 
59 
60 namespace protocols {
61 namespace abinitio {
62 
64 public:
66  current_kinematics_( NULL ),
67  sampling_protocol_( NULL )
68  {
69  return_centroid( false ); //default
70  }
71 
73  sampling_protocol_( sampler )
74  {
75  return_centroid( false );//default
76  }
77 
79 
80  //@brief generate a new KinematicControl object
82 
83  virtual void apply( core::pose::Pose &pose );
84  virtual std::string get_name() const;
85 
86  virtual void init( core::pose::Pose const& pose );
87 
89  runtime_assert( current_kinematics_ );
90  return current_kinematics_;
91  }
92 
93  void set_input_pose_is_fa( bool setting = true ) {
94  b_input_is_fullatom_ = setting;
95  }
96 
97 // virtual StructureStore const& structure_store() const {
98 // return sampling_protocol_->structure_store();
99 // }
100 
101 // virtual StructureStore& structure_store() {
102 // return sampling_protocol_->structure_store();
103 // }
104 
106  return sampling_protocol_;
107  }
108 
109  virtual checkpoint::CheckPointer &get_checkpoints() { return sampling_protocol_->get_checkpoints(); }
110 
111 protected:
112  virtual bool inner_loop( core::pose::Pose &pose );
116  return *res_switch_;
117  }
118 
119 private:
123 };
124 
125 
126 
127 }
128 }
129 
130 #endif