Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FilterStructs.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/flxbb/FilterStructs.hh
11 /// @brief filter structures
12 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
13 
14 #ifndef INCLUDED_protocols_flxbb_FilterStructs_hh
15 #define INCLUDED_protocols_flxbb_FilterStructs_hh
16 
17 // Unit Header
19 
20 // Project Headers
21 #include <core/types.hh>
22 #include <core/pose/Pose.fwd.hh>
23 
24 // Utility Headers
25 #include <utility/pointer/ReferenceCount.hh>
26 
27 #include <string>
28 
29 #include <utility/vector1.hh>
30 
31 
32 namespace protocols {
33 namespace flxbb{
34 
35 
36 ////////////////////////////////////////////////////////////////////////////////////////
38 public:
39 
41  typedef core::Real Real;
42  typedef core::Size Size;
45 
46 
47 public:// constructor/destructor
48 
49 
50  /// @brief default constructor
51  FilterStructs();
52 
53  /// @brief value constructor
54  FilterStructs( String const & name );
55 
56  /// @brief value constructor
57  FilterStructs( String const & name, Size const ntrial );
58 
59  /// @brief value constructor
60  FilterStructs( String const & name, Pose const & pose, Size const ntrial );
61 
62  /// @brief copy constructor
63  FilterStructs( FilterStructs const & rval );
64 
65  /// @brief destructor
66  virtual ~FilterStructs();
67 
68 
69 public:// virtural constructor
70 
71 
72  /// @brief
73  virtual FilterStructsOP clone() const;
74 
75  /// @brief
76  virtual FilterStructsOP fresh_instance() const;
77 
78 
79 public:// virtual operations
80 
81 
82  /// @brief
83  virtual void apply( Pose const & ) = 0;
84 
85  /// @brief
86  virtual void reset( Pose const & ) = 0;
87 
88 
89 public:// accessors
90 
91 
92  /// @brief
93  inline String name() const { return name_; }
94 
95  /// @brief
96  inline bool filter_on() const { return filter_on_; }
97 
98  /// @brief
99  inline Size current_trial() const { return current_trial_; }
100 
101  /// @brief
102  PoseOP get_bestpose() const;
103 
104 
105 public:// mutators
106 
107 
108  /// @brief
109  void name( String const & name );
110 
111  /// @brief
112  void set_ntrial( Size const ntrial );
113 
114 
115 protected://
116 
117 
118  /// @brief
119  void initialize( Pose const & pose );
120 
121  /// @brief
122  void set_filter_off() { filter_on_ = false; }
123 
124  /// @brief
125  void set_filter_on() { filter_on_ = true; }
126 
127  /// @brief
128  void count_ntrial();
129 
130  /// @brief
131  bool filter_is_over();
132 
133  /// @brief
134  void set_bestpose( Pose const & pose );
135 
136 
137 private:
138 
144 
145 };
146 
147 ////////////////////////////////////////////////////////////////////////////////////////
149 public:
150 
152  typedef core::Real Real;
153  typedef core::Size Size;
155 
156 
157 public:
158 
159  /// @brief default constructor
160  FilterStructs_Packstat( Size const ntrial=10 );
161 
162  /// @brief constructor
163  FilterStructs_Packstat( Pose const & pose, Size const ntrial=10 );
164 
165  /// @brief copy constructor
167 
168  /// @brief destructor
169  virtual ~FilterStructs_Packstat();
170 
171 
172 public:// virtural constructor
173 
174 
175  /// @brief
176  virtual FilterStructsOP clone() const;
177 
178  /// @brief
179  virtual FilterStructsOP fresh_instance() const;
180 
181 
182 public:// virtual main operation
183 
184 
185  /// @brief
186  virtual void apply( Pose const & );
187 
188  /// @brief
189  virtual void reset( Pose const & );
190 
191 
192 private:
193 
195 
196 };
197 
198 ////////////////////////////////////////////////////////////////////////////////////////
200 public:
201 
203  typedef core::Real Real;
204  typedef core::Size Size;
206 
207 
208 public:
209 
210 
211  /// @brief constructor
212  FilterStructs_TotalCharge( Size const ntrial=20 );
213 
214  /// @brief constructor
215  FilterStructs_TotalCharge( Pose const & pose, Size const ntrial=20 );
216 
217  /// @brief copy constructor
219 
220  /// @brief destructor
221  virtual ~FilterStructs_TotalCharge();
222 
223 
224 public:// virtural constructor
225 
226 
227  /// @brief
228  virtual FilterStructsOP clone() const;
229 
230  /// @brief
231  virtual FilterStructsOP fresh_instance() const;
232 
233 
234 public:// virtual main operation
235 
236 
237  /// @brief
238  virtual void apply( Pose const & );
239 
240  /// @brief
241  virtual void reset( Pose const & );
242 
243 
244 private:
245 
247 
248 };
249 
250 
251 
252 } // flxbb
253 } // protocols
254 
255 
256 #endif