Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PNatLigPoseOptEData.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 protocols/optimize_weights/PNatLigPoseOptEData.hh
11 ///
12 /// @brief
13 /// @author Ian W. Davis
14 
15 
16 #ifndef INCLUDED_protocols_optimize_weights_PNatLigPoseOptEData_hh
17 #define INCLUDED_protocols_optimize_weights_PNatLigPoseOptEData_hh
18 
21 
22 #include <utility/vector1.hh>
23 
24 
25 namespace protocols {
26 namespace optimize_weights {
27 
28 
29 ///@brief
30 ///
31 ///@details
32 ///
34 {
35 public:
36 
38  virtual ~PNatLigPoseOptEData();
39 
40  // my invention to avoid code duplication
41  virtual
42  Real
43  do_score(
44  std::ostream & ostr,
45  Multivec const & component_weights,
46  Multivec const & vars,
47  Multivec & dE_dvars,
48  /// Basically, turn over all the private data from OptEMultiFunc
49  Size const num_energy_dofs,
50  int const num_ref_dofs,
51  int const num_total_dofs,
52  EnergyMap const & fixed_terms,
53  ScoreTypes const & score_list,
54  ScoreTypes const & fixed_score_list,
55  bool const print
56  ) const;
57 
58  // inherited from OptEPositionData
59  virtual
60  Real
62  Multivec const & component_weights,
63  Multivec const & vars,
64  Multivec & dE_dvars,
65  /// Basically, turn over all the private data from OptEMultiFunc
66  Size const num_energy_dofs,
67  int const num_ref_dofs,
68  int const num_total_dofs,
69  EnergyMap const & fixed_terms,
70  ScoreTypes const & score_list,
71  ScoreTypes const & fixed_score_list
72  ) const
73  { return do_score(std::cout, component_weights, vars, dE_dvars, num_energy_dofs, num_ref_dofs, num_total_dofs, fixed_terms, score_list, fixed_score_list, false /* don't print */); }
74 
75  virtual
76  void
78  std::ostream & ostr,
79  Multivec const & component_weights,
80  Multivec const & vars,
81  Multivec & dE_dvars,
82  /// Basically, turn over all the private data from OptEMultiFunc
83  Size const num_energy_dofs,
84  int const num_ref_dofs,
85  int const num_total_dofs,
86  EnergyMap const & fixed_terms,
87  ScoreTypes const & score_list,
88  ScoreTypes const & fixed_score_list
89  ) const
90  { do_score(ostr, component_weights, vars, dE_dvars, num_energy_dofs, num_ref_dofs, num_total_dofs, fixed_terms, score_list, fixed_score_list, true /* do print */); }
91 
92  /*
93  virtual
94  Size
95  size() const;
96  */
97 
98  virtual
100  type() const;
101 
102  /*
103  virtual
104  void
105  write_to_file( std::ofstream & outfile ) const;
106 
107  virtual
108  void
109  read_from_file( std::ifstream & infile );
110 
111  virtual
112  void
113  write_to_binary_file( std::ofstream & outfile ) const;
114 
115  virtual
116  void
117  read_from_binary_file( std::ifstream & infile );
118 
119  virtual
120  Size
121  memory_use() const;
122 
123 #ifdef USEMPI
124  virtual
125  void
126  send_to_node( int const destination_node, int const tag ) const;
127 
128  virtual
129  void
130  receive_from_node( int const source_node, int const tag );
131 #endif
132 
133  void
134  set_total_residue( Size total_residue );
135 
136  void
137  add_native( SingleStructureDataOP native );
138 
139  void
140  add_decoy( SingleStructureDataOP decoy );
141 
142 private:
143  Size total_residue_;
144  SingleStructureDataOPs natives_;
145  SingleStructureDataOPs decoys_;
146  */
147 
148 private:
150  Real multiplier_; //< to make it stand up to the much more numerous sequence recovery entries
151 
152 }; // PNatLigPoseOptEData
153 
154 
155 } // namespace optimize_weights
156 } // namespace protocols
157 
158 #endif // INCLUDED_protocols_optimize_weights_PNatLigPoseOptEData_HH