Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymmetricScoreFunction.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 made available under the Rosetta Commons license.
5 // See http://www.rosettacommons.org/license
6 // (C) 199x-2007 University of Washington
7 // (C) 199x-2007 University of California Santa Cruz
8 // (C) 199x-2007 University of California San Francisco
9 // (C) 199x-2007 Johns Hopkins University
10 // (C) 199x-2007 University of North Carolina, Chapel Hill
11 // (C) 199x-2007 Vanderbilt University
12 
13 /// @file core/scoring/symmetry/SymmetricScoreFunction.hh
14 /// @brief Symmetric Score function class
15 /// @author Ingemar Andre
16 
17 
18 #ifndef INCLUDED_core_scoring_symmetry_SymmetricScoreFunction_hh
19 #define INCLUDED_core_scoring_symmetry_SymmetricScoreFunction_hh
20 
21 // Unit headers
23 
24 // Package headers
26 // AUTO-REMOVED #include <core/scoring/hbonds/HBondSet.fwd.hh>
27 
28 // Project headers
31 
32 #include <utility/vector1.hh>
33 
34 
35 namespace core {
36 namespace scoring {
37 namespace symmetry {
38 
40 {
41 public:
45 
46 public:
47 
48  /// ctor
50 
53 
55 
57 
59 
61 
62  ScoreFunctionOP clone() const;
63 
64  /////////////////////////////////////////////////////////////////////////////
65  // score
66  /////////////////////////////////////////////////////////////////////////////
67 
68  virtual Real
69  operator ()( pose::Pose & pose ) const;
70 
71  /// @brief Initialize a MinimizationGraph and cache it in the pose's Energies object
72  /// for use during minimization -- only add edges to the asymmetric unit and within it
73  /// are added to the MinimizationGraph.
74  virtual
75  void
77  pose::Pose & pose,
78  kinematics::MinimizerMapBase const & min_map
79  ) const;
80 
81  ///
82  void
84 
85  void
87 
88  ///
89  void
90  eval_onebody_energies( pose::Pose & pose ) const;
91 
92  virtual
93  void
94  setup_for_derivatives( pose::Pose & pose ) const;
95 
96  virtual
97  void
99  id::AtomID const & atom_id,
100  pose::Pose const & pose,
101  kinematics::DomainMap const & domain_map,
102  Vector & F1,
103  Vector & F2
104  ) const;
105 
106  Real
108  id::DOF_ID const & dof_id,
109  id::TorsionID const & torsion_id,
110  pose::Pose const & pose
111  ) const;
112 
113  //void create_intersubunit_hbonds( pose::Pose & pose, hbonds::HBondSetOP hbond_set_subunit ) const;
114 
115  void
116  intersubunit_hbond_energy( pose::Pose & pose, EnergyMap & intersubunit_energy ) const;
117 
118  void
119  symmetrical_allow_hbonds( pose::Pose & pose ) const;
120 
121  void
123 
124  void
125  set_symmetric_cenlist( pose::Pose & pose ) const;
126 
127  void
128  correct_arrays_for_symmetry( pose::Pose & pose ) const;
129 
130  void
131  correct_finalize_score( pose::Pose & pose ) const;
132 
133 };
134 
135 
136 } // symmetry
137 } // namespace scoring
138 } // namespace core
139 
140 #endif // INCLUDED_core_scoring_SymmetricScoreFunction_HH