Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_DataInfo.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_DataPotential.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_DataInfo_hh
16 #define INCLUDED_core_scoring_rna_RNA_DataInfo_hh
17 
18 #include <core/types.hh>
19 
20 // Project headers
21 #include <basic/datacache/CacheableData.hh>
22 
23 // Utility headers
24 #include <utility/vector1.hh>
25 
26 // ObjexxFCL headers
27 #include <ObjexxFCL/FArray1D.hh>
28 
29 // C++
30 
31 namespace core {
32 namespace scoring {
33 namespace rna {
34 
35 class RNA_Datum {
36 public:
37 
38  RNA_Datum( Size const position, Size const edge, Real const weight){
40  edge_ = edge;
41  weight_ = weight;
42  }
43 
44  Size position() const { return position_; };
45  Size edge() const { return edge_; };
46  Real weight() const { return weight_; };
47 
48 private:
52 };
53 
55 
56 ////////////////////////////////////////////////////////////////////////////////////////////////////
57 /// @brief Keep track of RNA centroid information inside the pose.
58 class RNA_DataInfo : public basic::datacache::CacheableData {
59 
60 public:
61 
63 
64  RNA_DataInfo( RNA_DataInfo const & src );
65 
66  basic::datacache::CacheableDataOP
67  clone() const
68  {
69  return new RNA_DataInfo( *this );
70  }
71 
72  RNA_DataInfo &
73  operator=( RNA_DataInfo const & src );
74 
75  Size
76  size() const {
77  return rna_data_.size();
78  }
79 
80  void
81  zero();
82 
83  RNA_Data const & rna_data() const { return rna_data_; }
84 
85  void
86  add_datum( RNA_Datum const & rna_datum ){ rna_data_.push_back( rna_datum ); }
87 
88  ObjexxFCL::FArray1D< bool > const & backbone_burial() const { return backbone_burial_; }
89 
90  void set_backbone_burial( ObjexxFCL::FArray1D< bool > const & backbone_burial ){ backbone_burial_ = backbone_burial; }
91 
92  ObjexxFCL::FArray1D< bool > const & backbone_exposed() const { return backbone_exposed_; }
93 
94  void set_backbone_exposed( ObjexxFCL::FArray1D< bool > const & backbone_exposed ){ backbone_exposed_ = backbone_exposed; }
95 
96 private:
97 
99  ObjexxFCL::FArray1D< bool > backbone_burial_;
100  ObjexxFCL::FArray1D< bool > backbone_exposed_;
101 
102 };
103 
104 }
105 }
106 }
107 
108 #endif