Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PseudocontactShiftEnergy.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  //////////////////////////////////////////////
11  /// @begin
12  ///
13  /// @file protocols/scoring/methods/pcs/PseudocontactShiftEnergy.hh
14  ///
15  /// @brief
16  ///
17  /// @detailed
18  ///
19  /// @param
20  ///
21  /// @return
22  ///
23  /// @remarks
24  ///
25  /// @references
26  ///
27  /// @authorsv Christophe Schmitz
28  ///
29  /// @last_modified June 2009
30  ////////////////////////////////////////////////
31 
32 #ifndef INCLUDED_protocols_scoring_methods_pcs_PseudocontactShiftEnergy_hh
33 #define INCLUDED_protocols_scoring_methods_pcs_PseudocontactShiftEnergy_hh
34 
35 // Package headers
39 
40 // Project headers
41 #include <core/pose/Pose.fwd.hh>
44 
45 // Utility headers
46 
47 // Numeric headers
48 #include <numeric/xyzVector.fwd.hh>
49 
50 #include <utility/vector1.hh>
51 
52 
53 // Objexx headers
54 
55 // C++ headers
56 
57 
58 namespace protocols {
59 namespace scoring {
60 namespace methods {
61 namespace pcs {
62 
64 public:
66 
67 public:
68 
69  PCS_Energy();
70 
71  ~PCS_Energy();
72 
73  PCS_Energy &
74  operator=(PCS_Energy const & other);
75 
76  PCS_Energy(PCS_Energy const & other);
77 
79  clone() const;
80 
81  void
83 
84  void
86  core::pose::Pose & pose,
89  ) const;
90 
92  calculate_pcs_score( core::pose::Pose & pose, bool print_to_tracer ) const;
93 
96  utility::vector1<core::Real> & vec_best_score,
97  utility::vector1<PCS_tensor> & vec_best_tensor,
99  core::pose::Pose const & pdb,
100  PCS_data & pcs_d
101  ) const;
102 
103  core::Real
105  utility::vector1<PCS_tensor> & vec_best_tensor,
107  PCS_data const & pcs_d
108  ) const;
109 
110  /*core::Real
111  calculate_single_score_and_tensor_from_PCS_data_per_lanthanides(
112  PCS_tensor & PCS_t,
113  PCS_data_per_lanthanides & pcs_d_p_l
114  ) const; */
115 
116 
117  PCS_data &
118  PCS_data_from_pose(core::pose::Pose & pose) const;
119 
120  void
122  utility::vector1<PCS_tensor> const & vec_tensor,
123  numeric::xyzVector< core::Real > const & best_coo,
124  PCS_data const &pcs_d
125  ) const;
126 
127 virtual
128 core::Size version() const;
129 };
130 
131 
132 
133 
135 public:
136  static
138  get_instance();
139 
140 private:
142 
144 
159 
163 
164 public:
165 
166  //rvernon -> partial PCS score machinery in development
167  void
169 
170  void
172 
173  bool
175 
176  bool
178 
179  void
181 
184  //rvernon
185 
186 
187 
188 
189  void
191  utility::vector1<core::Real> const vec_individual_weight);
192 
193  void
194  set_grid_param(core::Real const grid_edge,
195  core::Real const grid_step,
196  core::Real const grid_small_cutoff,
197  core::Real const grid_large_cutoff,
198  core::Real const grid_cone_angle_cutoff,
199  std::string const grid_atom_name_1,
200  std::string const grid_atom_name_2,
201  core::SSize const grid_residue_num_1,
202  core::SSize const grid_residue_num_2,
203  core::Real const grid_k_vector,
204  bool const minimize_best_tensor,
205  core::Real const pcs_weight
206  );
207  void
208  print_grid_param() const;
209 
210  core::Real
211  get_grid_edge() const;
212 
213  core::Real
214  get_grid_step() const;
215 
216  core::Real
217  get_grid_small_cutoff() const;
218 
219  core::Real
220  get_grid_large_cutoff() const;
221 
222  core::Real
224 
226  get_grid_atom_name_1() const;
227 
229  get_grid_atom_name_2() const;
230 
231  core::Size
232  get_grid_residue_num_1() const;
233 
234  core::Size
235  get_grid_residue_num_2() const;
236 
237  core::Real
238  get_grid_k_vector() const;
239 
240  bool
241  get_minimize_best_tensor() const;
242 
243  core::Real
244  get_pcs_weight() const;
245 
247  get_vector_filename() const;
248 
250  get_vector_weight() const;
251 
252 };
253 
254 } //pcs
255 } //methods
256 } //scoring
257 } //protocols
258 
259 #endif // INCLUDED_protocols_scoring_methods_PseudocontactShiftEnergy_HH