Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InterlockingAromaFilter.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/fldsgn/filters/InterlockingAromaFilter.hh
11 /// @brief header file for InterlockingAromaFilter class.
12 /// @detailed
13 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
14 
15 
16 #ifndef INCLUDED_protocols_fldsgn_filters_InterlockingAromaFilter_hh
17 #define INCLUDED_protocols_fldsgn_filters_InterlockingAromaFilter_hh
18 
19 // Unit Headers
21 
22 // Package Headers
24 
25 // Project Headers
26 #include <core/types.hh>
27 #include <core/pose/Pose.fwd.hh>
29 
30 // Utility headers
31 
32 // Parser headers
36 #include <utility/tag/Tag.fwd.hh>
37 
38 #include <utility/vector1.hh>
39 
40 
41 //// C++ headers
42 
43 namespace protocols {
44 namespace fldsgn {
45 namespace filters {
46 
48 public:
49 
53  typedef core::Real Real;
57 
62 
63 
64 public:// constructor/destructor
65 
66 
67  // @brief default constructor
69 
70  // @brief constructor with arguments
71  InterlockingAromaFilter( String const & type );
72 
73  // @brief copy constructor
75 
77 
78 
79 public:// virtual constructor
80 
81 
82  // @brief make clone
83  virtual FilterOP clone() const { return new InterlockingAromaFilter( *this ); }
84 
85  // @brief make fresh instance
86  virtual FilterOP fresh_instance() const { return new InterlockingAromaFilter(); }
87 
88 
89 public:// mutator
90 
91 
92  // @brief
93  void filter_value( Real const value );
94 
95  // @brief
96  void contact_distance( Real const value );
97 
98  // @brief
99  void verbose( bool const b );
100 
101 
102 public:// accessor
103 
104 
105  // @brief get name of this filter
106  virtual std::string name() const { return "InterlockingAromaFilter"; }
107 
108 
109 public:// parser
110 
111  virtual void parse_my_tag( TagPtr const tag,
112  DataMap &,
113  Filters_map const &,
114  Movers_map const &,
115  Pose const & pose );
116 
117 
118 public:// virtual main operation
119 
120 
121  // @brief returns true if the given pose passes the filter, false otherwise.
122  // In this case, the test is whether the give pose is the topology we want.
123  virtual bool apply( Pose const & pose ) const;
124 
125  /// @brief
126  virtual Real report_sm( Pose const & pose ) const;
127 
128  /// @brief used to report score
129  virtual void report( std::ostream & out, Pose const & pose ) const;
130 
131  /// @brief compute this filter
132  Real compute( Pose const & pose ) const;
133 
134  /// @brief compute this filter for a give residue
135  bool compute( Size const & res, Pose const & pose, SS_Info2_COP const ssinfo ) const;
136 
137 
138 private:
139 
140 
144  bool verbose_;
145 
146 
147 };
148 
149 } // filters
150 } // fldsgn
151 } // protocols
152 
153 #endif