Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MonteCarlo.tmpl.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 protocols/moves/MonteCarlo.tmpl.hh
11 /// @brief implentation for MonteCarlo template functions
12 /// @author Yih-En Andrew Ban (yab@u.washington.edu)
13 
14 #ifndef INCLUDED_protocols_moves_MonteCarlo_tmpl_hh
15 #define INCLUDED_protocols_moves_MonteCarlo_tmpl_hh
16 
17 // unit headers
19 
20 // project headers
21 #include <core/pose/Pose.hh>
22 
23 #include <platform/types.hh>
24 #include <core/types.hh>
25 #include <core/chemical/AA.hh>
30 #include <core/id/AtomID.fwd.hh>
31 #include <core/id/DOF_ID.fwd.hh>
34 #include <core/id/TorsionID.fwd.hh>
39 #include <core/pose/PDBInfo.fwd.hh>
40 #include <core/pose/Pose.fwd.hh>
55 #include <utility/down_cast.hh>
56 #include <utility/vector1.fwd.hh>
57 #include <utility/vector1.hh>
58 #include <utility/vector1_bool.hh>
59 #include <utility/vectorL.fwd.hh>
60 #include <utility/vectorL.hh>
61 #include <utility/vectorL_Selector.hh>
62 #include <utility/vectorL_bool.hh>
63 #include <utility/excn/EXCN_Base.hh>
64 #include <utility/excn/Exceptions.hh>
65 #include <utility/pointer/ReferenceCount.fwd.hh>
66 #include <utility/pointer/ReferenceCount.hh>
67 #include <utility/pointer/access_ptr.fwd.hh>
68 #include <utility/pointer/access_ptr.hh>
69 #include <utility/pointer/owning_ptr.functions.hh>
70 #include <utility/pointer/owning_ptr.fwd.hh>
71 #include <utility/pointer/owning_ptr.hh>
72 #include <utility/signals/BufferedSignalHub.fwd.hh>
73 #include <utility/signals/BufferedSignalHub.hh>
74 #include <utility/signals/Link.fwd.hh>
75 #include <utility/signals/Link.hh>
76 #include <utility/signals/LinkUnit.fwd.hh>
77 #include <utility/signals/LinkUnit.hh>
78 #include <utility/signals/SignalHub.fwd.hh>
79 #include <utility/signals/SignalHub.hh>
80 #include <numeric/xyzMatrix.fwd.hh>
81 #include <numeric/xyzVector.fwd.hh>
82 #include <algorithm>
83 #include <cassert>
84 #include <cstddef>
85 #include <cstdlib>
86 #include <iosfwd>
87 #include <iostream>
88 #include <limits>
89 #include <map>
90 #include <ostream>
91 #include <sstream>
92 #include <string>
93 #include <vector>
94 #include <basic/MetricValue.fwd.hh>
95 #include <basic/datacache/BasicDataCache.fwd.hh>
96 #include <boost/bind.hpp>
97 #include <boost/function.hpp>
98 
99 
100 
101 namespace protocols {
102 namespace moves {
103 
104 
105 /// @brief attach observer to last accepted conformation
106 /// @tparam ConformationObserver any class implementing <tt> void attach_to( Conformation & ) </tt>
107 template< typename ConformationObserver >
108 void
110  obs.attach_to( last_accepted_pose_->conformation() );
111 }
112 
113 
114 /// @brief attach observer to lowest score conformation
115 /// @tparam ConformationObserver any class implementing <tt> void attach_to( Conformation & ) </tt>
116 template< typename ConformationObserver >
117 void
119  obs.attach_to( lowest_score_pose_->conformation() );
120 }
121 
122 
123 /// @brief attach observer to last accepted pose
124 /// @tparam PoseObserver any class implementing <tt> void attach_to( Pose & ) </tt>
125 template< typename PoseObserver >
126 void
128  obs.attach_to( *last_accepted_pose_ );
129 }
130 
131 
132 /// @brief attach observer to lowest score pose
133 /// @tparam PoseObserver any class implementing <tt> void attach_to( Pose & ) </tt>
134 template< typename PoseObserver >
135 void
137  obs.attach_to( *lowest_score_pose_ );
138 }
139 
140 
141 } // namespace moves
142 } // protocols
143 
144 
145 #endif /* INCLUDED_protocols_moves_MonteCarlo_TMPL_HH */