Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_CentroidInfo.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 core/scoring/methods/RNA_CentroidInfo.hh
11 /// @brief Statistically derived rotamer pair potential class implementation
12 /// @author Phil Bradley
13 /// @author Andrew Leaver-Fay
14 
15 #ifndef INCLUDED_core_scoring_rna_RNA_CentroidInfo_hh
16 #define INCLUDED_core_scoring_rna_RNA_CentroidInfo_hh
17 
18 #include <core/types.hh>
19 
20 // Project headers
21 #include <core/pose/Pose.fwd.hh>
22 #include <basic/datacache/CacheableData.hh>
24 #include <core/kinematics/Stub.hh>
25 
26 // Utility headers
27 // AUTO-REMOVED #include <utility/vector1.hh>
28 
29 // Numceric Headers
30 #include <numeric/xyzVector.hh>
31 
32 #include <utility/vector1.hh>
33 
34 
35 // C++
36 
37 namespace core {
38 namespace scoring {
39 namespace rna {
40 
41 ////////////////////////////////////////////////////////////////////////////////////////////////////
42 /// @brief Keep track of RNA centroid information inside the pose.
43 //// Rhiju move this to its own namespace!
44 class RNA_CentroidInfo: public basic::datacache::CacheableData {
45 
46 public:
47 
49 
50  RNA_CentroidInfo( RNA_CentroidInfo const & src );
51 
52  basic::datacache::CacheableDataOP
53  clone() const
54  {
55  return new RNA_CentroidInfo( *this );
56  }
57 
58  void
59  update( pose::Pose const & pose );
60 
61  Size
62  size() const {
63  return base_centroids_.size();
64  }
65 
66  bool
67  calculated() const
68  {
69  return calculated_;
70  }
71 
72  bool &
74  {
75  return calculated_;
76  }
77 
78  void
79  set_calculated( bool const & setting)
80  {
81  calculated_ = setting;
82  }
83 
86  {
87  return base_centroids_;
88  }
89 
91  base_stubs() const
92  {
93  return base_stubs_;
94  }
95 
96  Vector
97  get_base_centroid( conformation::Residue const & rsd ) const;
98 
100  get_base_coordinate_system( conformation::Residue const & rsd, Vector const & centroid ) const;
101 
102 private:
103 
104  void
106 
110 
111 };
112 
113 
114 }
115 }
116 }
117 #endif