Loading...
Searching...
No Matches
quadraticImproperTorsion.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// Molecular Mechanics Parameter: class describing the parameters required to
// describe a harmonic improper torsion (out-of-plane) potential
#ifndef BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
#define BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
#ifndef BALL_FORMAT_PARAMETERSECTION_H
# include <BALL/FORMAT/parameterSection.h>
#endif
#ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
# include <BALL/MOLMEC/PARAMETER/atomTypes.h>
#endif
namespace BALL
{
class BALL_EXPORT QuadraticImproperTorsion
: public ParameterSection
{
public:
enum
{
UNKNOWN
};
struct BALL_EXPORT Values
{
float phase;
float k;
bool operator == (const Values& values) const
{
return ((phase == values.phase) && (k == values.k));
}
bool operator != (const Values& values) const
{
return !(operator == (values));
}
};
struct Data
{
Atom* atom1;
Atom* atom2;
Atom* atom3;
Atom* atom4;
Values values;
};
BALL_CREATE(QuadraticImproperTorsion)
QuadraticImproperTorsion() ;
QuadraticImproperTorsion(const QuadraticImproperTorsion& torsion)
;
virtual ~QuadraticImproperTorsion() ;
virtual void clear() ;
virtual bool extractSection(ForceFieldParameters& parameters,
const String& section_name) ;
virtual bool extractSection(Parameters& parameters,
const String& section_name) ;
bool hasParameters(Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L)
const ;
QuadraticImproperTorsion::Values getParameters(Atom::Type I, Atom::Type J,
Atom::Type K, Atom::Type L) const ;
bool assignParameters(QuadraticImproperTorsion::Values& parameters,
Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L) const
;
const QuadraticImproperTorsion& operator =
(const QuadraticImproperTorsion& torsion) ;
bool operator == (const QuadraticImproperTorsion& torsion) const
;
protected:
Size number_of_atom_types_;
vector<Values> torsions_;
HashMap<Size, Size> torsion_hash_map_;
};
} // namespace BALL
#endif // BALL_MOLMEC_PARAMETER_QUADRATICIMPROPERTORSION_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
atomTypes.h
BALL::Atom
Definition atom.h:90
BALL::ForceFieldParameters
Definition forceFieldParameters.h:31
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions).
Definition hashMap.h:74
BALL::ParameterSection::ParameterSection
ParameterSection()
BALL::Parameters
Definition parameters.h:25
BALL::QuadraticImproperTorsion::torsions_
vector< Values > torsions_
Definition quadraticImproperTorsion.h:150
BALL::QuadraticImproperTorsion::torsion_hash_map_
HashMap< Size, Size > torsion_hash_map_
Definition quadraticImproperTorsion.h:152
BALL::QuadraticImproperTorsion::QuadraticImproperTorsion
QuadraticImproperTorsion()
BALL::QuadraticImproperTorsion::assignParameters
bool assignParameters(QuadraticImproperTorsion::Values &parameters, Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L) const
BALL::QuadraticImproperTorsion::getParameters
QuadraticImproperTorsion::Values getParameters(Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L) const
BALL::QuadraticImproperTorsion::extractSection
virtual bool extractSection(ForceFieldParameters &parameters, const String &section_name)
BALL::QuadraticImproperTorsion::hasParameters
bool hasParameters(Atom::Type I, Atom::Type J, Atom::Type K, Atom::Type L) const
BALL::QuadraticImproperTorsion::clear
virtual void clear()
BALL::QuadraticImproperTorsion::UNKNOWN
@ UNKNOWN
Definition quadraticImproperTorsion.h:34
BALL::QuadraticImproperTorsion::number_of_atom_types_
Size number_of_atom_types_
Definition quadraticImproperTorsion.h:148
BALL::String
Definition string.h:57
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
parameterSection.h
BALL::QuadraticImproperTorsion::Data
Definition quadraticImproperTorsion.h:55
BALL::QuadraticImproperTorsion::Data::atom3
Atom * atom3
Definition quadraticImproperTorsion.h:58
BALL::QuadraticImproperTorsion::Data::atom4
Atom * atom4
Definition quadraticImproperTorsion.h:59
BALL::QuadraticImproperTorsion::Data::atom1
Atom * atom1
Definition quadraticImproperTorsion.h:56
BALL::QuadraticImproperTorsion::Data::values
Values values
Definition quadraticImproperTorsion.h:61
BALL::QuadraticImproperTorsion::Data::atom2
Atom * atom2
Definition quadraticImproperTorsion.h:57
BALL::QuadraticImproperTorsion::Values
Definition quadraticImproperTorsion.h:38
BALL::QuadraticImproperTorsion::Values::k
float k
Definition quadraticImproperTorsion.h:40
BALL::QuadraticImproperTorsion::Values::phase
float phase
Definition quadraticImproperTorsion.h:39