Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CircularPowerFunc.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 src/core/scoring/constraints/CircularPowerFunc.hh
11 /// @brief Definition for functions used in definition of constraints.
12 /// @author James Thompson
13 
14 #ifndef INCLUDED_core_scoring_constraints_CircularPowerFunc_hh
15 #define INCLUDED_core_scoring_constraints_CircularPowerFunc_hh
16 
18 #include <core/types.hh>
19 
20 // C++ Headers
21 
22 namespace core {
23 namespace scoring {
24 namespace constraints {
25 
26 /// @brief Generalization of CircularCircularPowerFunc -- other exponents allowed.
27 /// @brief Operates in radians, like DihedralConstraint.
28 class CircularPowerFunc : public Func {
29 public:
30  CircularPowerFunc( Real const x0_radians, Real const sd_radians, int const power, Real const weight );
31 
32 
33  FuncOP
34  clone() const;
35 
36  Real
37  func( Real const x ) const;
38 
39  Real
40  dfunc( Real const x ) const;
41 
42 private:
43  Real const x0_;
44  Real const sd_;
45  int const power_;
46  Real const weight_;
47 };
48 
49 } // constraints
50 } // scoring
51 } // core
52 
53 #endif