Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GunnCost.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 // :noTabs=false:tabSize=4:indentSize=4:
4 //
5 // (c) Copyright Rosetta Commons Member Institutions.
6 // (c) This file is part of the Rosetta software suite and is made available under license.
7 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10 
11 /// @brief metric for Gunn moves
12 /// @author Oliver Lange ( olange@u.washington.edu )
13 /// @date Wed Aug 22 12:08:31 2007
14 ///
15 
16 #ifndef INCLUDED_protocols_frag_picker_scores_GunnCost_HH
17 #define INCLUDED_protocols_frag_picker_scores_GunnCost_HH
18 
19 
20 // Project Headers
21 #include <core/types.hh>
22 #include <core/pose/Pose.fwd.hh>
23 
24 #ifdef WIN32
25 #include <core/pose/Pose.hh> // WIN32 INCLUDE
26 #endif
27 
28 // Utility headers
29 #include <utility/vector1.fwd.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 namespace protocols {
35 namespace frag_picker {
36 namespace scores {
37 
38 using namespace core;
39 
40 struct GunnTuple {
41 public:
43  q1 = 0;
44  q2 = 0;
45  q3 = 0;
46  q4 = 0;
47  q5 = 0;
48  q6 = 0;
49  }
50  core::Real q1, q2, q3, q4, q5, q6;
51 };
52 
53 class GunnCost {
54 public:
55  GunnCost() : cutoff_(7.0) {}
56  GunnCost( core::Real cutoff ) : cutoff_( cutoff) {}
57  ~GunnCost() {}
58 
59  void compute_gunn( core::pose::Pose const& pose, core::Size begin, core::Size end, GunnTuple &data);
60  core::Real score_tuple( GunnTuple const& g1, GunnTuple const& g2 );
61 
62 private:
64 // utility::vector1< core::pose::PoseOP > various_length_poses_;
65 };
66 
67 
68 } // scores
69 } // frag_picker
70 } // protocols
71 
72 #endif