Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ScoreFunctionInfo.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/ScoreFunction.hh
11 /// @brief Score function class
12 /// @author Phil Bradley
13 
14 
15 #ifndef INCLUDED_core_scoring_ScoreFunctionInfo_hh
16 #define INCLUDED_core_scoring_ScoreFunctionInfo_hh
17 
18 
19 // Unit Headers
21 
22 // Package Headers
27 
28 // Project Headers
29 #include <core/types.hh>
30 
31 // Utility Headers
32 #include <utility/pointer/ReferenceCount.hh>
33 
34 #include <utility/vector1.hh>
35 
36 
37 
38 namespace core {
39 namespace scoring {
40 
41 
42 /// Info on the scorefunction settings
43 
44 /**
45  This object is handed to the pose's Energies object and stored
46  along with the cached energies. It is used in the next scoring
47  evaluation to decide whether it's safe to reuse cached energies.
48 
49  It must describe the kinds of context that the Energies object provides
50  to the scoring function. If any scoring function requires a tenA
51  neighbor graph, then that information is stored here. If a scoring
52  function requires a different kind of neighborness graph (think
53  centroid mode), then this class will indicate the kind of storage.
54 
55  Finally, it must describe the maximum atom-to-atom distance cutoff that characterizes
56  the energy function.
57 
58  So all we need is a constructor and an operator==
59 
60 **/
61 
63 {
64 
65 public:
66 
67 
68  /// default constructor -- fill this in
70  ScoreFunctionInfo( ScoreFunctionInfo const & src );
71  virtual ~ScoreFunctionInfo();
72 
73 
74  /// copy constructor -- fill this in
75  ScoreFunctionInfo( ScoreFunction const & scorefxn );
76 
77  void initialize_from( ScoreFunction const & scorefxn );
78 
79  /// comparison -- fill this in
80  friend
81  bool
82  operator==( ScoreFunctionInfo const & a, ScoreFunctionInfo const & b ) /* PHIL */;
83 
84  /// comparison -- fill this in
85  inline
86  friend
87  bool
89  return ! ( operator == ( a, b ));
90  }
91 
92  EnergyMap const &
93  scores_present() const {
94  return scores_present_;
95  }
96 
97  Distance
100  }
101 
102  Distance
105  }
106 
107  bool
109 
110 private:
111  ScoreFunctionInfo const & operator = ( ScoreFunctionInfo const & rhs ); // private, unimplemented; make sure this isn't called, or implement it
112 
113 private:
114 
117 
120 
122 
123 };
124 
125 
126 } // namespace scoring
127 } // namespace core
128 
129 
130 #endif // INCLUDED_core_scoring_ScoreFunction_HH