BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
templates.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 // Molecular Mechanics Parameter: class describing the atom type section of a parameter file
6 
7 #ifndef BALL_MOLMEC_PARAMETER_TEMPLATES_H
8 #define BALL_MOLMEC_PARAMETER_TEMPLATES_H
9 
10 #ifndef BALL_FORMAT_PARAMETERSECTION_H
12 #endif
13 
14 #ifndef BALL_KERNEL_SYSTEM_H
15 # include <BALL/KERNEL/system.h>
16 #endif
17 
18 #ifndef BALL_DATATYPE_HASHSET_H
19 # include <BALL/DATATYPE/hashset.h>
20 #endif
21 
22 #include <BALL/KERNEL/atom.h>
23 
24 namespace BALL
25 {
26  class Atom;
27 
32  : public ParameterSection
33  {
34  public:
35 
39 
42  Templates();
43 
46  Templates(const Templates& templates, bool deep = true);
47 
50  virtual ~Templates() ;
51 
54  virtual void clear() ;
55 
57 
60 
67  virtual bool extractSection(Parameters& parameters, const String& section_name);
68 
71  float getCharge(const String& name) const;
72 
75  String getTypeName(const String& name) const;
76 
79  bool has(const String& name) const;
80 
83  void assign(System& system, bool overwrite_existing_typenames = true,
84  bool overwrite_non_zero_charges = true) const;
85 
88  void assignCharges(System& system, bool overwrite_non_zero_charges = true) const;
89 
92  void assignTypeNames(System& system, bool overwrite_existing_typenames = true) const;
93 
95 
98 
103  Templates& operator = (const Templates& templates);
104 
109  void setMaximumUnassignedAtoms(Size nr);
110 
114  Size getMaximumUnassignedAtoms() const;
115 
117  Size getNumberOfUnassignedAtoms() const;
118 
120  HashSet<const Atom*>& getUnassignedAtoms();
121 
123 
124  protected:
125 
126  /*_ Contains the charge for each residue/atom combination
127  */
129 
130  /*_ Contains the atom type names for each residue/atom combination
131  */
133 
134  //_ Atoms, for which the assignment fails
136 
137  //_ max number of unassigned atoms
139  };
140 } // namespace BALL
141 
142 #endif // BALL_MOLMEC_PARAMETER_TEMPLATES_H