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
core
scoring
mm
MMLJLibrary.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 core/scoring/mm/MMLJLibrary.hh
11
/// @brief Molecular mechanics lj library class
12
/// @author P. Douglas Renfrew (renfrew@unc.edu)
13
14
15
#ifndef INCLUDED_core_scoring_mm_MMLJLibrary_hh
16
#define INCLUDED_core_scoring_mm_MMLJLibrary_hh
17
18
// Unit headers
19
#include <
core/scoring/mm/MMLJLibrary.fwd.hh
>
20
21
// Project headers
22
#include <
core/types.hh
>
23
#include <
core/chemical/MMAtomTypeSet.hh
>
24
25
// Utility header
26
#include <utility/vector1.hh>
27
#include <utility/keys/Key2Tuple.hh>
28
#include <utility/pointer/access_ptr.hh>
29
#include <utility/pointer/owning_ptr.hh>
30
#include <utility/pointer/ReferenceCount.hh>
31
32
// C++ headers
33
#include <string>
34
#include <map>
35
36
namespace
core {
37
namespace
scoring {
38
namespace
mm {
39
40
// typedefs
41
typedef
Size
mm_lj_atom
;
42
typedef
utility::keys::Key2Tuple< Real, Real >
mm_lj_param_set
;
43
44
/// @brief A class to maintain a set of MM LJ paramaters.
45
///
46
/// @details blah
47
///
48
class
MMLJLibrary
:
public
utility::pointer::ReferenceCount
49
{
50
51
public
:
52
///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
53
virtual
~MMLJLibrary
();
54
/// @brief ctor
55
MMLJLibrary
(
core::chemical::MMAtomTypeSetCAP
mm_atom_set
);
56
57
/// @brief blah
58
inline
59
mm_lj_param_set
60
lookup_three_bond
(
Size
atom )
const
61
{
return
mm_lj_three_bond_library_
[ atom ]; }
62
63
/// @brief blah
64
inline
65
mm_lj_param_set
66
lookup_three_bond
(
std::string
atom )
const
67
{
return
mm_lj_three_bond_library_
[
mm_atom_set_
->atom_type_index( atom ) ]; }
68
69
/// @brief blah
70
inline
71
mm_lj_param_set
72
lookup
(
Size
atom )
const
73
{
return
mm_lj_library_
[ atom ]; }
74
75
/// @brief blah
76
inline
77
mm_lj_param_set
78
lookup
(
std::string
atom )
const
79
{
return
mm_lj_library_
[
mm_atom_set_
->atom_type_index( atom ) ]; }
80
81
/// @brief blah
82
core::chemical::MMAtomTypeSetCAP
83
mm_atom_set
()
const
84
{
return
mm_atom_set_
; }
85
86
/// @brief blah
87
Real
88
nblist_dis2_cutoff_XX
()
const
89
{
return
nblist_dis2_cutoff_XX_
; }
90
91
/// @brief blah
92
Real
93
nblist_dis2_cutoff_XH
()
const
94
{
return
nblist_dis2_cutoff_XH_
; }
95
96
/// @brief blah
97
Real
98
nblist_dis2_cutoff_HH
()
const
99
{
return
nblist_dis2_cutoff_HH_
; }
100
101
private
:
102
/// @brief library that contains lj params for sets in which atoms are seperated by 3 or bonds
103
utility::vector1<mm::mm_lj_param_set>
mm_lj_three_bond_library_
;
104
105
/// @brief library that contains lj params for sets in which atoms are seperated by 4 or more bonds
106
utility::vector1<mm::mm_lj_param_set>
mm_lj_library_
;
107
108
/// @brief the MMAtomTypeSet associated with the library
109
core::chemical::MMAtomTypeSetCAP
mm_atom_set_
;
110
111
/// @brief the cutoff distance at which the neighbor list will count two atoms as being neighbors
112
/// given that those atom are both heavy, a heavy and a hydrogen, or a hydrogen and hydrogen
113
/// respectivly
114
Real
nblist_dis2_cutoff_XX_
;
115
Real
nblist_dis2_cutoff_XH_
;
116
Real
nblist_dis2_cutoff_HH_
;
117
};
118
119
}
// namespace mm
120
}
// namespace scoring
121
}
// namespace core
122
123
124
#endif // INCLUDED_core_mm_mm_lj_library_HH
Generated on Sat Jun 1 2013 11:39:21 for Rosetta 3.5 by
1.8.4