Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PerturbChiSidechainMover.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/sidechain_moves/PerturbChiSidechainMover.hh
11 /// @brief definition of PerturbChiSidechainMover class and functions
12 /// @author Oliver Lange (oliver.lange@tum.de) adapted from Colin A. Smith's code
13 
14 
15 #ifndef INCLUDED_protocols_simple_moves_sidechain_moves_PerturbChiSidechainMover_hh
16 #define INCLUDED_protocols_simple_moves_sidechain_moves_PerturbChiSidechainMover_hh
17 
18 // Unit Headers
21 
22 // Protocols Headers
25 
26 // Core Headers
30 #include <core/pose/Pose.fwd.hh>
31 
34 
37 
38 // Numeric Headers
39 #include <numeric/random/random.hh>
40 
41 // Utility headers
42 #include <utility/vector1.hh>
43 
44 namespace protocols {
45 namespace simple_moves {
46 namespace sidechain_moves {
47 
48 /// @brief class for non-discrete side chain sampling using Dunbrack rotamer probabilities/distributions
50 
51 public:
53  /// @brief default constructor
55 
56  /// @brief constructor with user provided rotamer library
59  );
60 
62  PerturbChiSidechainMover const & mover
63  );
64 
65  virtual
67  clone() const;
68 
69  virtual
70  void
72  utility::tag::TagPtr const tag,
74  protocols::filters::Filters_map const & filters,
75  protocols::moves::Movers_map const & movers,
76  core::pose::Pose const & pose
77  );
78 
79  virtual
80  void
82  core::conformation::Residue const& residue,
83  ChiVector const& old_chi,
84  ChiVector& new_chi
85  );
86 
87  virtual std::string get_name() const;
88 
89  virtual core::Real
92  core::Size const,
94  ChiVector const &
95  ) const { return 1.0; };
96 
97  void set_magnitude( core::Real setting ) {
98  magnitude_ = setting;
99  }
100  void set_gaussian( bool setting ) {
101  gaussian_ = setting;
102  }
103 
104 protected:
105  void set_defaults();
106 private:
108  bool gaussian_;
109 }; //PerturbChiSidechainMover
110 
111 
112 } // sidechain_moves
113 } // simple_moves
114 } // protocols
115 
116 #endif