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
chemical
IdealBondLengthSet.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/chemical/IdealBondLengthSet.hh
11
/// @author P. Douglas Renfrew (renfrew@unc.edu)
12
13
14
#ifndef INCLUDED_core_chemical_IdealBondLengthSet_hh
15
#define INCLUDED_core_chemical_IdealBondLengthSet_hh
16
17
18
// Unit headers
19
#include <
core/chemical/IdealBondLengthSet.fwd.hh
>
20
21
// Project headers
22
23
// Utility headers
24
// AUTO-REMOVED #include <utility/vector1.hh>
25
26
#include <utility/pointer/ReferenceCount.hh>
27
28
// C++ headers
29
// Commented by inclean daemon #include <string>
30
#include <map>
31
32
#include <utility/vector1_bool.hh>
33
34
#include <
core/types.hh
>
35
#include <
core/chemical/Element.fwd.hh
>
36
37
38
39
40
namespace
core {
41
namespace
chemical {
42
43
typedef
int
AtomTypeIndex
;
44
typedef
Real
BondLength
;
45
46
/// @brief A set of Elements
47
///
48
/// @details This class contains a vector of pointers each of which points to an
49
/// Element and the vector index is looked up by an element_name string
50
/// in a map.
51
///
52
class
IdealBondLengthSet
:
public
utility::pointer::ReferenceCount
{
53
54
public
:
55
IdealBondLengthSet
();
56
virtual
~IdealBondLengthSet
();
57
58
/// @brief Check if an ideal bond length is known for this pair of atom types...
59
bool
contains_bond_length
(
std::string
const
& atom_type_name1,
std::string
const
& atom_type_name2)
const
;
60
bool
contains_bond_length
(
AtomTypeIndex
atom_type_index1,
AtomTypeIndex
atom_type_index2)
const
;
61
62
/// @brief Lookup the element index by the element_symbol string
63
BondLength
get_bond_length
(
std::string
const
& atom_type_name1,
std::string
const
& atom_type_name2)
const
;
64
BondLength
get_bond_length
(
AtomTypeIndex
const
atom_type_index1,
AtomTypeIndex
const
atom_type_index2)
const
;
65
66
/// @brief Load the IdealBondLengthSet from a file
67
void
68
read_file
(
std::string
const
&
filename
);
69
70
/// @brief Print all of the symbols of all of the Elements in the set. Usefull for debuging.
71
void
72
print_all_bond_lengths
();
73
74
75
// data
76
private
:
77
void
78
add_bond_length
(
79
std::string
const
& atom_type_name1,
80
std::string
const
& atom_type_name2,
81
BondLength
const
length
82
);
83
84
void
85
add_bond_length
(
86
AtomTypeIndex
const
atom_type_index1,
87
AtomTypeIndex
const
atom_type_index2,
88
Real
const
length
89
);
90
91
/// @details pair of atom type indices and the ideal length between these atom types
92
std::map< std::pair<AtomTypeIndex, AtomTypeIndex>,
BondLength
>
bond_lengths_
;
93
94
};
95
96
}
// chemical
97
}
// core
98
99
#endif // INCLUDED_core_chemical_IdealBondLengthSet_HH
Generated on Sat Jun 1 2013 11:31:35 for Rosetta 3.5 by
1.8.4