Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CountPairFunction.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/etable/count_pair/CountPairFunction.hh
11 /// @brief Count pair base class interface
12 /// @author Andrew Leaver-Fay (leaverfa@email.unc.edu)
13 
14 
15 #ifndef INCLUDED_core_scoring_etable_count_pair_CountPairFunction_hh
16 #define INCLUDED_core_scoring_etable_count_pair_CountPairFunction_hh
17 
18 // Unit headers
20 
21 // Project headers
25 #include <core/types.hh>
26 
27 // Utility headers
28 #include <utility/pointer/ReferenceCount.hh>
29 
30 
31 // C++
32 
33 namespace core {
34 namespace scoring {
35 namespace etable {
36 namespace count_pair {
37 
39 {
40 
41 public:
42  CountPairFunction() {} // inlined when declared on the stack
43  virtual ~CountPairFunction() {} // inlined when declared on the stack
44 
45  // each derived class must override this (non virtual) function
46  // in order to work with residue_atom_pair_energy< T > defined in
47  // atom_pair_energy_inline.hh
48  bool
50  int const at1,
51  int const at2,
52  Real &,
53  Size & path_dist
54  ) const;
55 
56  // virtual method calls operator(); for use when type resolution is non-critical
57  virtual
58  bool
59  count(
60  int const at1,
61  int const at2,
62  Real &,
63  Size & path_dist
64  ) const = 0;
65 
66  virtual
67  void
69  conformation::Residue const &,
70  conformation::Residue const &,
72  EnergyMap &
73  ) const = 0;
74 
75  virtual
76  void
78  conformation::Residue const &,
79  conformation::Residue const &,
81  EnergyMap &
82  ) const = 0;
83 
84 
85  virtual
86  void
88  conformation::Residue const &,
89  conformation::Residue const &,
91  EnergyMap &
92  ) const = 0;
93 
94  virtual
95  void
97  conformation::Residue const &,
98  conformation::Residue const &,
100  EnergyMap &
101  ) const = 0;
102 
103 
104  virtual
105  void
107  conformation::Residue const &,
108  conformation::Residue const &,
110  EnergyMap &
111  ) const = 0;
112 
113  virtual
114  void
116  conformation::Residue const &,
117  conformation::Residue const &,
119  EnergyMap &
120  ) const = 0;
121 
122  virtual
123  void
125  conformation::Residue const &,
126  conformation::Residue const &,
128  EnergyMap &
129  ) const = 0;
130 
131 
132  virtual
133  void
135  conformation::Residue const &,
136  conformation::Residue const &,
138  EnergyMap &
139  ) const = 0;
140 
141  virtual
142  void
144  conformation::Residue const &,
145  conformation::Residue const &,
147  EnergyMap &
148  ) const = 0;
149 
150 
151  virtual
152  void
154  conformation::Residue const &,
155  conformation::Residue const &,
157  EnergyMap &
158  ) const = 0;
159 
160  /*static
161  count_pair_type
162  find_count_pair_type( std::string const & ); */
163 
164  static Real const cp_half;
165 
166 };
167 
168 } // namespace count_pair
169 } // namespace etable
170 } // namespace scoring
171 } // namespace core
172 
173 
174 #endif