Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymmetricRotamerSet_.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 part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 /// @file core/pack/rotamer_set/symmetry/SymmetricRotamerSet_.hh
10 /// @brief rotamer set implementation class for symmetric packing
11 /// @author Ingemar Andre
12 
13 
14 #ifndef INCLUDED_core_pack_rotamer_set_symmetry_SymmetricRotamerSet__hh
15 #define INCLUDED_core_pack_rotamer_set_symmetry_SymmetricRotamerSet__hh
16 
17 //Unit headers
19 
20 //Package headers
23 
24 //Project headers
28 // AUTO-REMOVED #include <core/scoring/trie/RotamerTrieBase.hh>
30 // AUTO-REMOVED #include <core/conformation/symmetry/SymmetricConformation.hh>
32 
33 // Utility headers
34 #include <utility/pointer/owning_ptr.hh>
35 // AUTO-REMOVED #include <utility/vector1.hh>
36 
38 #include <core/kinematics/Jump.hh>
39 #include <utility/vector1.hh>
40 
41 
42 namespace core {
43 namespace pack {
44 namespace rotamer_set {
45 namespace symmetry {
46 
47 /// @brief Container for a set of rotamers for use in packing.
48 /// Rotamers are sorted into groups of the same residue type.
49 /// Offsets into these rotamer groups are maintained by this class, as is
50 /// information concerning the "original rotamer" -- the rotamer
51 /// present on the input pose before packing began.
52 /// symmetrical version of RotamerSet_
54 {
55 public:
58 
59 public:
61  virtual ~SymmetricRotamerSet_();
62 
63  /// @brief Computes the packers "one body energies" for the set of rotamers.
64  virtual
65  void
67  pose::Pose const & pose,
68  scoring::ScoreFunction const & scorefxn,
69  task::PackerTask const & task,
70  graph::GraphCOP packer_neighbor_graph,
71  utility::vector1< core::PackerEnergy > & energies ) const;
72 
73  void
76  core::Size factor ) const;
77 
78  void
81  utility::vector1< core::PackerEnergy > const & add ) const;
82 
83  void
86  utility::vector1< core::PackerEnergy > const & subtract ) const;
87 
90  pose::Pose const & pose,
91  conformation::ResidueOP residue_in,
92  int const & sympos,
93  RotamerSetOP rotset_in
94  ) const;
95 
96 };
97 
98 } // namespace symmetry
99 } // namespace rotamer_set
100 } // namespace pack
101 } // namespace core
102 
103 
104 #endif // INCLUDED_core_pack_RotamerSet_RotamerSet__HH
105