Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResidualDipolarCouplingEnergy_Rohl.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 /// @file core/scoring/methods/ResidualDipolarCouplingEnergy.hh
10 /// @brief RDC energy - comparing experimental RDC values to calculated values
11 /// @author Srivatsan Raman
12 
13 
14 #ifndef INCLUDED_core_scoring_methods_ResidualDipolarCouplingEnergy_Rohl_hh
15 #define INCLUDED_core_scoring_methods_ResidualDipolarCouplingEnergy_Rohl_hh
16 
17 // Package headers
19 // AUTO-REMOVED #include <core/scoring/ResidualDipolarCoupling_Rohl.hh>
20 
22 
23 
24 // Project headers
25 #include <core/pose/Pose.fwd.hh>
26 
28 
29 // AUTO-REMOVED #include <utility/vector1.hh>
30 
31 //Objexx headers
32 // AUTO-REMOVED #include <ObjexxFCL/format.hh>
33 // AUTO-REMOVED #include <ObjexxFCL/char.functions.hh>
34 // AUTO-REMOVED #include <ObjexxFCL/string.functions.hh>
35 // AUTO-REMOVED #include <ObjexxFCL/Fmath.hh>
36 
38 #include <utility/vector1.hh>
39 #include <ObjexxFCL/FArray2D.fwd.hh>
40 
41 
42 
43 // Utility headers
44 
45 
46 namespace core {
47 namespace scoring {
48 namespace methods {
49 
50 ///
52 public:
54 
55 public:
56 
58 
59  //clone
60  virtual
62  clone() const;
63 
64  /////////////////////////////////////////////////////////////////////////////
65  // scoring
66  /////////////////////////////////////////////////////////////////////////////
67 
68  void
70  pose::Pose & pose,
71  ScoreFunction const &,
72  EnergyMap & totals
73  ) const;
74 
75  void
77  utility::vector1< bool > & /*context_graphs_required*/
78  ) const {}
79 
80  private:
81 
83  pose::Pose & pose
84  ) const;
85 
87  pose::Pose & pose
88  ) const;
89 
90  void
92  pose::Pose const & pose,
93  utility::vector1< core::scoring::RDC_Rohl > const & All_RDC_lines,
94  ObjexxFCL::FArray2D< Real > & A,
95  ObjexxFCL::FArray1D< Real > & b,
96  ObjexxFCL::FArray1D< Real > & weights //for alignment tensor calculation
97  ) const;
98 
99 
100  void calc_ordermatrix(
101  Size const & nrow,
102  Size const & ORDERSIZE,
103  ObjexxFCL::FArray2D< Real > & A,
104  ObjexxFCL::FArray1D< Real > & b,
105  ObjexxFCL::FArray1D< Real > & x,
106  ObjexxFCL::FArray1D< Real > & weights, //for alignment tensor calculation
107  bool & reject
108  ) const;
109 
110  void svdcmp(
111  ObjexxFCL::FArray2D< Real > & a,
112  Size const & m,
113  Size const & n,
114  ObjexxFCL::FArray1D< Real > & w,
115  ObjexxFCL::FArray2D< Real > & v
116  ) const;
117 
118  Real pythag(
119  Real const & a,
120  Real const & b
121  ) const;
122 
123  void svbksb(
124  ObjexxFCL::FArray2D< Real > const & u,
125  ObjexxFCL::FArray1D< Real > const & w,
126  ObjexxFCL::FArray2D< Real > const & v,
127  Size const & m,
128  Size const & n,
129  ObjexxFCL::FArray1D< Real > const & b,
130  ObjexxFCL::FArray1D< Real > & x
131  ) const;
132 
133  void calc_orderparam(
134  ObjexxFCL::FArray1D< Real > x,
135  ObjexxFCL::FArray2D< Real > vec,
136  Real & Azz,
137  Real & eta
138  ) const;
139 
141  ObjexxFCL::FArray2D< Real > const & A,
142  ObjexxFCL::FArray1D< Real > const & x,
143  ObjexxFCL::FArray1D< Real > const & b,
144  utility::vector1< core::scoring::RDC_Rohl > const & All_RDC_lines,
145  Size const & ORDERSIZE,
146  Real const & Azz
147  ) const;
148 virtual
149 core::Size version() const;
150 
151 };
152 
153 } //methods
154 } //scoring
155 } //core
156 
157 #endif // INCLUDED_core_scoring_ScoreFunction_HH