Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FragQualCalculator.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 ./src/protocols/toolbox/PoseMetricCalculator/FragQualCalculator.hh
11 /// @brief header file for FragQualCalculator class.
12 /// Roughly, fragment quality is number of fragments which are close to a pose in rmsd
13 /// @detailed
14 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
15 
16 
17 #ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_FragQualCalculator_hh
18 #define INCLUDED_protocols_toolbox_pose_metric_calculators_FragQualCalculator_hh
19 
21 #include <basic/MetricValue.fwd.hh>
22 #include <core/types.hh>
23 #include <core/pose/Pose.fwd.hh>
25 
26 // Utility headers
27 #include <utility/vector1.hh>
28 
29 //// C++ headers
30 // Parser headers
34 #include <utility/tag/Tag.fwd.hh>
35 
36 namespace protocols {
37 namespace toolbox {
38 namespace pose_metric_calculators {
39 
41 public:
42 
43 
46  typedef core::Size Size;
47  typedef core::Real Real;
50  typedef basic::MetricValueBase MetricValueBase;
53 
58 
59 
60 public:// constructor/destructor
61 
62 
63  /// @brief default constructor
65 
66  /// @brief default constructor
67  FragQualCalculator( FragSetOP const & frag, Real const rmsd=1.0, Real const ratio=30.0 );
68 
69  /// @brief copy constructor
70  FragQualCalculator( FragQualCalculator const & rval );
71 
72  /// @brief destructor
73  virtual ~FragQualCalculator();
74 
75 
76 public:// virtual constructor
77 
78 
79  /// @brief make clone
80  PoseMetricCalculatorOP clone() const { return new FragQualCalculator( *this ); }
81 
82 
83 public:// mutator
84 
85 
86  /// @brief set fragments
87  void set_fragset( FragSetOP const & frags );
88 
89  /// @brief rmsd cutoff of good fragments
90  void rmsd_cutoff( Real const & val );
91 
92  /// @brief
93  void ratio_cutoff( Real const & val );
94 
95  /// @brief
96  void set_region( Size const val1, Size const val2 );
97 
98  /// @brief
99  void begin( Size const begin ) { begin_ = begin; }
100 
101  /// @brief
102  void end( Size const end ) { end_ = end; }
103 
104 
105 public:
106 
107 
108  void parse_my_tag( TagPtr const tag,
109  DataMap & data,
110  Filters_map const &,
111  Movers_map const &,
112  Pose const & pose );
113 
114 
115 protected:
116 
117 
118  virtual void lookup( String const & key, MetricValueBase * valptr ) const;
119  virtual std::string print( String const & key ) const;
120  virtual void recompute( Pose const & this_pose );
121 
122 
123 private:
124 
125  /// @brief
127 
128  /// @brief
130 
131  /// @brief
133  /// @brief
135 
136  /// @brief
138 
139  /// @brief
141 
142  /// @brief
144 
145  /// @brief
147 
148  /// @brief
149  bool verbose_;
150 
151 
152 }; //FragQualCalculator
153 
154 
155 } // ns PoseMetricCalculators
156 } // ns toolbox
157 } // ns protocols
158 
159 #endif