BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
solventDescriptor.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: solventDescriptor.h,v 1.19 2005/12/23 17:02:00 amoll Exp $
5 //
6 
7 #ifndef BALL_SOLVATION_SOLVENTDESCRIPTOR_H
8 #define BALL_SOLVATION_SOLVENTDESCRIPTOR_H
9 
10 #ifndef BALL_COMMON_H
11 # include <BALL/common.h>
12 #endif
13 
14 #ifndef BALL_KERNEL_ATOM_H
15 # include <BALL/KERNEL/atom.h>
16 #endif
17 
18 namespace BALL
19 {
24 
29  {
30  public:
34 
38 
41  float radius;
42 
46 
48  {
49  type = Atom::UNKNOWN_TYPE;
50  element_symbol = "?";
51  radius = 0.0;
52  number_of_atoms = 0;
53  };
54  };
55 
56 
63  {
64 
65  public:
66 
68 
69 
72 
76 
79  SolventDescriptor(const SolventDescriptor& solvent);
80 
83  SolventDescriptor(const String& name, float number_density,
84  const std::vector<SolventAtomDescriptor>& atom_list);
85 
88  virtual ~SolventDescriptor();
89 
91 
94 
97  const SolventDescriptor& operator = (const SolventDescriptor& descriptor);
98 
101  void clear();
102 
104 
107 
110  void setName(const String& name);
111 
114  const String& getName() const;
115 
118  void setNumberDensity(float number_density);
119 
122  float getNumberDensity() const;
123 
126  void setSolventAtomDescriptorList(const
127  std::vector<SolventAtomDescriptor>& solvent_atoms);
128 
131  const std::vector<SolventAtomDescriptor>& getSolventAtomDescriptorList() const;
132 
135  std::vector<SolventAtomDescriptor>& getSolventAtomDescriptorList();
136 
139  Size getNumberOfAtomTypes() const;
140 
143  const SolventAtomDescriptor& getAtomDescriptor(Position index) const
145 
148  SolventAtomDescriptor& getAtomDescriptor(Position index)
150 
152 
155 
158  bool isValid() const;
159 
162  bool operator == (const SolventDescriptor& descriptor) const;
163 
165 
166  protected:
167 
168  /*_ The name of this solvent
169  */
171 
172  /*_ The number density of this solvent, i. e. [missing]
173  */
175 
176  /*_ This vector contains all atom types occuring in this solute
177  */
178  std::vector<SolventAtomDescriptor> solvent_atoms_;
179 
180  /*_ The valid flag
181  */
182  bool valid_;
183 
184  };
186 
187 }
188 
189 #endif // BALL_SOLVATION_SOLVENTDESCRIPTOR_H