Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
scoring
methods
pcs2
TensorsOptimizer.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
//////////////////////////////////////////////
11
/// @begin
12
///
13
/// @file protocols/scoring/methods/pcs2/TensorsOptimizer.hh
14
///
15
/// @brief
16
///
17
/// @detailed
18
///
19
/// @param
20
///
21
/// @return
22
///
23
/// @remarks
24
///
25
/// @references
26
///
27
/// @authorsv Christophe Schmitz
28
///
29
/// @last_modified February 2010
30
////////////////////////////////////////////////
31
32
#ifndef INCLUDED_protocols_scoring_methods_pcs2_TensorsOptimizer_hh
33
#define INCLUDED_protocols_scoring_methods_pcs2_TensorsOptimizer_hh
34
35
// Package headers
36
#include <
protocols/scoring/methods/pcs2/PcsDataCenter.fwd.hh
>
37
// Project headers
38
#include <
core/optimization/Multifunc.hh
>
39
40
// Utility headers
41
42
// Numeric headers
43
#include <numeric/constants.hh>
44
45
#include <utility/vector1.hh>
46
47
48
// Objexx headers
49
50
// C++ headers
51
52
53
namespace
protocols{
54
namespace
scoring{
55
namespace
methods{
56
namespace
pcs2
{
57
58
class
TensorsOptimizer
:
public
core::optimization::Multifunc
{
59
60
public
:
61
//PcsDataCenter const & pcs_d_c_;
62
PcsDataCenter
&
pcs_d_c_
;
63
64
//TensorsOptimizer();
65
66
TensorsOptimizer
(
PcsDataCenter
/*const*/
& pcs_d_c);
67
68
virtual
69
~TensorsOptimizer
();
70
71
// @brief OptE func
72
virtual
73
core::Real
74
operator ()
(
core::optimization::Multivec
const
& vars )
const
;
75
76
core::Real
77
func
(
core::optimization::Multivec
const
& vars )
const
;
78
79
80
/// @brief OptE dfunc
81
virtual
82
void
83
dfunc
(
core::optimization::Multivec
const
& vars,
84
core::optimization::Multivec
& dE_dvars
85
)
const
;
86
87
virtual
88
bool
89
abort_min
(
core::optimization::Multivec
const
& vars )
const
;
90
91
/// @brief exact derivative (fast)
92
void
93
dfunc_exact
(
core::optimization::Multivec
const
& vars,
94
core::optimization::Multivec
& dE_dvars
95
)
const
;
96
97
/// @brief numeric derivative (slow)
98
void
99
dfunc_numeric
(
core::optimization::Multivec
const
& vars,
100
core::optimization::Multivec
& dE_dvars
101
)
const
;
102
103
private
:
104
105
106
};
107
108
}
//namespace pcs2
109
}
//namespace methods
110
}
//namespace scoring
111
}
//namespace protocols
112
113
static
const
core::Real
FACT_USI_PRECALC_FOR_A_3
( (10000.0/12.0/
core::Real
( numeric::constants::d::pi ) ) * 3.0 );
114
115
static
const
core::Real
FACT_20_PI_OVER_10000
(20 * numeric::constants::d::pi / 10000.0);
116
static
const
core::Real
FACT_10000_OVER_4PI
(10000.0/(4 * numeric::constants::d::pi));
117
118
#endif
Generated on Sat Jun 1 2013 12:10:55 for Rosetta 3.5 by
1.8.4