Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ChemicalShiftAnisotropyEnergy.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/methods/ChemicalShiftAnisotropyEnergy.hh
11 /// @brief CSP energy
12 /// @author Lei Shi
13 
14 
15 #ifndef INCLUDED_core_scoring_methods_ChemicalShiftAnisotropyEnergy_hh
16 #define INCLUDED_core_scoring_methods_ChemicalShiftAnisotropyEnergy_hh
17 
18 // Package headers
22 
23 // Project headers
24 #include <core/pose/Pose.fwd.hh>
25 //#include <core/kinematics/MinimizerMapBase.fwd.hh>
26 
28 #include <core/id/AtomID_Map.hh>
29 
30 // AUTO-REMOVED #include <utility/vector1.hh>
31 
32 //Objexx headers
33 // AUTO-REMOVED #include <ObjexxFCL/format.hh>
34 // AUTO-REMOVED #include <ObjexxFCL/char.functions.hh>
35 // AUTO-REMOVED #include <ObjexxFCL/string.functions.hh>
36 // AUTO-REMOVED #include <ObjexxFCL/Fmath.hh>
37 
38 
39 // Utility headers
40 
41 
42 namespace core {
43 namespace scoring {
44 namespace methods {
45 
46 ///
48 public:
50 
51 public:
52 
54 
55  //clone
56  virtual
58  clone() const;
59 
60  /////////////////////////////////////////////////////////////////////////////
61  // scoring
62  /////////////////////////////////////////////////////////////////////////////
63  virtual
64  void
65  setup_for_scoring( pose::Pose &, ScoreFunction const & ) const;
66 
67  /// @brief Called at the beginning of atom tree minimization, this method
68  /// allows the derived class the opportunity to initialize pertinent data
69  /// that will be used during minimization. During minimzation, the chemical
70  /// structure of the pose is constant, so assumptions on the number of atoms
71  /// per residue and their identities are safe so long as the pose's Energies
72  /// object's "use_nblist()" method returns true.
73  virtual
74  void
76  pose::Pose & ,
77  ScoreFunction const & ,
79  ) const;
80 
81  void
83  pose::Pose & pose,
84  ScoreFunction const &,
85  EnergyMap & totals
86  ) const;
87 
88  void
90  utility::vector1< bool > & /*context_graphs_required*/
91  ) const {}
92 
93 
94  virtual void eval_atom_derivative(
95  id::AtomID const & id,
96  pose::Pose const & pose,
97  kinematics::DomainMap const & domain_map,
98  ScoreFunction const & sfxn,
99  EnergyMap const & weights,
100  Vector & F1,
101  Vector & F2
102  ) const;
103 
104  private:
105 
107  pose::Pose & pose
108  ) const;
109 
110  Real eval_csa(
111  pose::Pose & pose
112  ) const;
113 
114 
115 private:
116 
117 //used by Energy Method during scoring... should this become part of ChemicalShiftAnisotropy and thus cached in the pose
118  mutable core::Real csa_score_; //computed in setup_for_scoring.. delivered in finalize
120 virtual
121 core::Size version() const;
122 };
123 
124 } //methods
125 } //scoring
126 } //core
127 
128 #endif // INCLUDED_core_scoring_ScoreFunction_HH