/usr/include/BALL/MOLMEC/PARAMETER/templates.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// Molecular Mechanics Parameter: class describing the atom type section of a parameter file
#ifndef BALL_MOLMEC_PARAMETER_TEMPLATES_H
#define BALL_MOLMEC_PARAMETER_TEMPLATES_H
#ifndef BALL_FORMAT_PARAMETERSECTION_H
# include <BALL/FORMAT/parameterSection.h>
#endif
#ifndef BALL_KERNEL_SYSTEM_H
# include <BALL/KERNEL/system.h>
#endif
#ifndef BALL_DATATYPE_HASHSET_H
# include <BALL/DATATYPE/hashset.h>
#endif
#include <BALL/KERNEL/atom.h>
namespace BALL
{
class Atom;
/** Force Field Residue Template Class.
\ingroup MolmecParameters
*/
class BALL_EXPORT Templates
: public ParameterSection
{
public:
/** @name Constructors and Destructors
*/
//@{
/** Default constructor.
*/
Templates();
/** Copy constructor.
*/
Templates(const Templates& templates, bool deep = true);
/** Destructor.
*/
virtual ~Templates() ;
/** Clear method.
*/
virtual void clear() ;
//@}
/** Parameter extraction
*/
//@{
/** Reads a parameter section from an INI file.
This method reads the section given in section_name from ini_file,
interprets (if given) a format line, reads the data from this section according to
the format, and builds some datastructures for fast and easy acces this data.
The section is typically entitled <b>ChargesAndTypeNames</b>.
*/
virtual bool extractSection(Parameters& parameters, const String& section_name);
/** Returns the numeric type for a given string.
*/
float getCharge(const String& name) const;
/** Returns the name for a given index
*/
String getTypeName(const String& name) const;
/** Queries whether a given template atom is defined
*/
bool has(const String& name) const;
/** Assign charges and type names
*/
void assign(System& system, bool overwrite_existing_typenames = true,
bool overwrite_non_zero_charges = true) const;
/** Assign charges and type names
*/
void assignCharges(System& system, bool overwrite_non_zero_charges = true) const;
/** Assign type names
*/
void assignTypeNames(System& system, bool overwrite_existing_typenames = true) const;
//@}
/** @name Assignment
*/
//@{
/** Assignment operator.
Copy the contents of <tt>templates</tt> into <tt>this</tt> residue template object.
@param templates the residue template object to be copied
*/
Templates& operator = (const Templates& templates);
/** Set the number of atoms, for which the assignment can
fail, until the assign() methods aborts and return false.
By default, there is no limit set.
*/
void setMaximumUnassignedAtoms(Size nr);
/** Get the number of atoms, for which the assignment can
fail, until the assign() methods aborts and return false.
*/
Size getMaximumUnassignedAtoms() const;
/// Get the number of atoms, for which the assignment failed.
Size getNumberOfUnassignedAtoms() const;
/// Get the atoms, for which the assignment failed.
HashSet<const Atom*>& getUnassignedAtoms();
//@}
protected:
/*_ Contains the charge for each residue/atom combination
*/
StringHashMap<float> charges_;
/*_ Contains the atom type names for each residue/atom combination
*/
StringHashMap<String> type_names_;
//_ Atoms, for which the assignment fails
HashSet<const Atom*> unassigned_atoms_;
//_ max number of unassigned atoms
Size max_number_unassigned_atoms_;
};
} // namespace BALL
#endif // BALL_MOLMEC_PARAMETER_TEMPLATES_H
|