Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConstraintEvaluator.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 ClashEvaluator.hh
11 /// @brief
12 /// @detailed
13 ///
14 ///
15 ///
16 /// @author Oliver Lange
17 
18 
19 
20 #ifndef INCLUDED_protocols_constraints_additional_ConstraintEvaluator_hh
21 #define INCLUDED_protocols_constraints_additional_ConstraintEvaluator_hh
22 
24 
25 
26 // Unit Headers
27 
28 // Package Headers
30 
31 // Project Headers
32 #include <core/pose/Pose.fwd.hh>
33 
35 
36 // AUTO-REMOVED #include <core/scoring/constraints/ConstraintSet.hh>
37 
39 
40 
41 // ObjexxFCL Headers
42 
43 // Utility headers
44 #include <utility/pointer/ReferenceCount.hh>
45 
47 #include <utility/vector1.hh>
48 
49 
50 
51 //// C++ headers
52 
53 #ifdef WIN32
55 #endif
56 
57 
58 namespace protocols {
59 namespace constraints_additional {
60 
62 public:
63  ConstraintEvaluator( std::string tag, core::scoring::constraints::ConstraintSet const&, Size viol_level = 0, core::Real threshold = 1.0, Size max_seq_sep = 0 );
64  ConstraintEvaluator( std::string tag, core::scoring::constraints::ConstraintCOPs const&, Size viol_level = 0, core::Real threshold = 1.0, Size max_seq_sep = 0 );
65 
66  //constructor for a late input of constraints --- in case pose is not known at construction
67  // ( will read only once with first pose that comes )
68  ConstraintEvaluator( std::string tag, std::string filename, Size viol_level = 0, core::Real threshold = 1.0, Size max_seq_sep = 0 );
69 
70  //sets xxx_cst and xxx_viol columns
71  virtual void apply( core::pose::Pose& pose, std::string tag, core::io::silent::SilentStruct &pss) const;
72 
74 
75  //returns constraint score
76  virtual core::Real apply( core::pose::Pose& pose ) const;
77 
78  virtual core::Size size() const { return 1; }
79  virtual std::string name( core::Size i ) const;
80 
81  void set_combine_ratio( core::Size setting ) {
83  }
84  void set_cst_source( std::string const& tag ) {
85  cst_source_ = tag;
86  }
87 
88 private:
89  //add constraint set to pose --- ready for scoring
90  void prepare_pose( core::pose::Pose const& pose_in, core::pose::Pose& pose ) const;
91 
93  mutable core::scoring::constraints::ConstraintSetOP constraints_; //mutable for late reading if file-name is provided
94  mutable core::scoring::constraints::ConstraintSetOP fa_constraints_; //mutable for late reading if file-name is provided
95  mutable bool tried_fullatom_pose_;
96  mutable bool tried_centroid_pose_;
103 };
104 
105 
106 }
107 }
108 
109 #endif