Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FingerprintMultifunc.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 // (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/pockets/FingerprintMultifunc.hh
11 /// @brief Fingerprint multifunction class
12 /// @author Ragul Gowthaman
13 
14 /// Unit headers
17 
18 #include <utility/vector1.hh>
19 
20 
21 namespace protocols{
22 namespace pockets {
23 
25  NonPlaidFingerprint & nfp_in,
26  PlaidFingerprint & pfp_in,
27  core::Real const & missing_point_weight,
28  core::Real const & steric_weight,
29  core::Real const & extra_point_weight
30 ) :
31  nfp_( nfp_in ),
32  pfp_( pfp_in ),
33  missing_pt_(missing_point_weight),
34  steric_(steric_weight),
35  extra_pt_(extra_point_weight)
36 {}
37 
40  numeric::xyzVector<core::Real> origin_offset;
41  origin_offset.x() = vars[1];
42  origin_offset.y() = vars[2];
43  origin_offset.z() = vars[3];
44 
45  pfp_.move_ligand_and_update_rhos_( nfp_, origin_offset, vars[4], vars[5], vars[6] );
47  return score;
48 }
49 
50 void
52 {
53 
54  // std::cout<< "Can't compute derivates of FingerprintMultifunc" << std::endl;
55  // exit(1);
56 
57  numeric::xyzVector<core::Real> origin_offset;
58  origin_offset.x() = vars[1];
59  origin_offset.y() = vars[2];
60  origin_offset.z() = vars[3];
61 
62  pfp_.move_ligand_and_update_rhos_( nfp_, origin_offset, vars[4], vars[5], vars[6] );
63 
64  pfp_.fp_compare_deriv( nfp_, missing_pt_, steric_, extra_pt_, dE_dvars[1], dE_dvars[2], dE_dvars[3], dE_dvars[4], dE_dvars[5], dE_dvars[6] );
65 
66  return;
67 
68 }
69 
70 /// @details Useful debugging code that can be re-enabled by changing the boolean
71 /// variables at the top of this file.
72 void
74  std::cout<< "In FingerprintMultifunc vars are " << vars[1] << ' ' << vars[2] << ' ' << vars[3] << ' ' << vars[4] << ' ' << vars[5] << ' ' << vars[6] << ' ' << std::endl;
75 }
76 
77 } // namespace pockets
78 } // namespace protocols
79