Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FilterMover.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 FilterMover
11 /// @brief performs MoverOP and then apply FilterOP
12 /// @author Nobuyasu Koga ( nobuyasau@uw.edu )
13 
14 #ifndef INCLUDED_protocols_moves_FilterMover_hh
15 #define INCLUDED_protocols_moves_FilterMover_hh
16 
17 // Unit header
19 
20 // Project headers
21 #include <core/types.hh>
23 #include <core/pose/Pose.fwd.hh>
24 #include <protocols/moves/Mover.hh>
26 
27 #include <utility/vector1.hh>
28 
29 
30 
31 namespace protocols {
32 namespace moves {
33 
34 
35 class FilterMover : public Mover {
36 
37 public:
38 
39  typedef core::Size Size;
43 
44 public:
45 
46  // default constructor
47  FilterMover();
48 
49  // @brief constructor with arguments
50  // mover_status when filter failed
51  FilterMover( MoverOP const & my_mover, FilterOP const & my_filter, Size const max_tries,
52  MoverStatus const mover_status = FAIL_DO_NOT_RETRY );
53 
54  ~FilterMover();
55 
56  // @brief main operation
57  virtual void apply( core::pose::Pose & pose );
58  virtual std::string get_name() const;
59 
60  // @brief add filter
61  void add_filter( FilterOP const & my_filter );
62 
63  /// @brief set mover
64  void set_mover( MoverOP const & my_mover );
65 
66  /// @brief set MoverStatus when the mover failed
67  //void moverstatus_whenfail( MoverStatus const & mover_status );
68 
69  /// @brief set maximum tries of making a move with my_mover
70  void max_tries( Size const mt );
71 
72 private:
73 
78 
79 };
80 
81 
82 } // moves
83 } // protocols
84 
85 
86 #endif