Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AtomicDistanceFilter.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 sw=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/simple_filters/AtomicDistanceFilter.hh
11 /// @brief Filter for looking at specific atom distances
12 /// @author Rocco Moretti (rmoretti@uw.edu)
13 
14 #ifndef INCLUDED_protocols_simple_filters_AtomicDistanceFilter_hh
15 #define INCLUDED_protocols_simple_filters_AtomicDistanceFilter_hh
16 
17 
18 // Project Headers
20 #include <core/pose/Pose.fwd.hh>
21 #include <core/types.hh>
22 #include <utility/tag/Tag.fwd.hh>
25 // AUTO-REMOVED #include <protocols/moves/ResId.hh>
26 
27 #include <utility/vector1.hh>
28 
29 
30 namespace protocols {
31 namespace simple_filters {
32 
33 /// @brief detects atomic contacts between two atoms of two residues
35 {
36 private:
38 public:
39  /// @brief default ctor
41  AtomicDistanceFilter( core::Size const res1, core::Size const res2, std::string atom_desig1="CB", std::string atom_desig2="CB", bool as_type1=false, bool as_type2=false, core::Real const distance=4.0);
42  virtual bool apply( core::pose::Pose const & pose ) const;
43  core::Real compute( core::pose::Pose const & pose ) const;
44  virtual void report( std::ostream & out, core::pose::Pose const & pose ) const;
45  virtual core::Real report_sm( core::pose::Pose const & pose ) const;
46  virtual filters::FilterOP clone() const {
47  return new AtomicDistanceFilter( *this );
48  }
50  return new AtomicDistanceFilter();
51  }
52 
53  virtual ~AtomicDistanceFilter(){};
54  void parse_my_tag( utility::tag::TagPtr const tag,
58  core::pose::Pose const & );
59 private:
62  bool astype1_, astype2_; // if desg should be interpreted as an atomtype
64 };
65 
66 } // filters
67 } // protocols
68 
69 #endif
70