Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymmetricRMSMover.cc
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 MinMover.cc
10 /// @brief
11 /// @author ashworth
12 
13 // Unit headers
15 
16 // Package headers
18 // AUTO-REMOVED #include <core/conformation/symmetry/util.hh>
19 
22 
23 #include <basic/datacache/BasicDataCache.hh>
24 #include <basic/datacache/DiagnosticData.hh>
26 
27 // AUTO-REMOVED #include <protocols/jd2/ScoreMap.hh>
28 #include <core/scoring/rms_util.hh>
30 // ObjexxFCL Headers
31 
32 // C++ Headers
33 
34 // Utility Headers
35 #include <basic/Tracer.hh>
36 
37 #include <utility/vector1.hh>
38 
39 
40 namespace protocols {
41 namespace simple_moves {
42 namespace symmetry {
43 
44 using namespace ObjexxFCL;
45 static basic::Tracer TR("protocols.simple_moves.symmetry.SymmetricRMSMover");
46 
48  : protocols::moves::Mover("SymmetricRMSMover") {}
49 
51 
52 void
54 {
55  using namespace basic::datacache;
56  //using core::pose::datacache::CacheableDataType::SCORE_MAP;
57 
58  std::map < std::string, core::Real > score_map;
60  score_map[ "NO_OUTPUT_TAG_CACHED_SORRY" ] = 0.0;
61  } else {
62  score_map = ( static_cast< DiagnosticData const &>( pose.data().get( core::pose::datacache::CacheableDataType::SCORE_MAP ))).data() ;
63  }
64 
65  assert( core::pose::symmetry::is_symmetric( pose ) );
66  SymmetricConformation const & SymmConf (
67  dynamic_cast<SymmetricConformation const & > ( pose.conformation()) );
69 
70  FArray1D_bool superpos ( pose.total_residue(), false );
71  for (Size res=1; res <= symm_info->num_total_residues_without_pseudo(); ++res )
72  {
73  superpos(res) = true;
74  }
75  if ( get_native_pose() ) {
77  score_map[ "rms" ] = rms;
78  pose.data().set(core::pose::datacache::CacheableDataType::SCORE_MAP, new basic::datacache::DiagnosticData( score_map ));
79  }
80 
81 }
82 
85  return "SymmetricRMSMover";
86 }
87 
88 
89 } // symmetry
90 } // moves
91 } // protocols