Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InteratomicVarianceMatrix.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/jd2/Job.hh
11 /// @brief header file for ThreadingJob classes, part of August 2008 job distributor as planned at RosettaCon08. This file is responsible for three ideas: "inner" jobs, "outer" jobs (with which the job distributor works) and job container (currently just typdefed in the .fwd.hh)
12 /// @author Steven Lewis smlewi@gmail.com
13 
14 #ifndef INCLUDED_protocols_toolbox_InteratomicVarianceMatrix_hh
15 #define INCLUDED_protocols_toolbox_InteratomicVarianceMatrix_hh
16 
17 // AUTO-REMOVED #include <ObjexxFCL/FArray3D.hh>
18 #include <ObjexxFCL/FArray2D.hh>
19 #include <ObjexxFCL/FArray1D.hh>
20 // AUTO-REMOVED #include <utility/vector1.hh>
21 #include <core/types.hh>
22 // AUTO-REMOVED #include <core/pose/Pose.hh>
23 
24 #include <ObjexxFCL/FArray3.fwd.hh>
25 
26 
27 namespace protocols {
28 namespace toolbox {
29 
31 public:
32 
34  : n_atoms_( n_atoms ), ivm_( ivm ) { };
35 
37  : n_atoms_( n_atoms ) { };
38 
39  core::Size n_atoms() const {
40  return n_atoms_;
41  }
42 
44  return ivm_;
45  }
46 
47  //interatomic distance matrix --- no superposition needed for this!
48  void init( core::Size n_atoms, core::Size n_decoys, ObjexxFCL::FArray3_double const& coords );
49 
50 
51  void order_parameter( core::Real epsilon, ObjexxFCL::FArray1_double& T );
52 
53  core::Real kurtosis( ObjexxFCL::FArray1_double& T );
54 
55  void optimize_kurtosis( core::Size ngrid, core::Real lb, core::Real ub );
56 
57 private:
60 
61  ///@brief order parameter to given value epsilon
62  ObjexxFCL::FArray1D_double T_;
63 
64  ///@brief
66 
67 
68 };
69 
70 }
71 }
72 
73 #endif