BALL  1.4.1
stretchComponent.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // Molecular Mechanics: Amber force field, bond stretch component
00005 
00006 #ifndef BALL_MOLMEC_COMMON_STRETCHCOMPONENT_H
00007 #define BALL_MOLMEC_COMMON_STRETCHCOMPONENT_H
00008 
00009 #ifndef BALL_COMMON_H
00010 # include <BALL/common.h>
00011 #endif
00012 
00013 #ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
00014 # include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
00015 #endif
00016 
00017 #ifndef BALL_MOLMEC_PARAMETER_QUADRATICBONDSTRETCH_H
00018 # include <BALL/MOLMEC/PARAMETER/quadraticBondStretch.h>
00019 #endif
00020 
00021 namespace BALL
00022 {
00023   class ForceField;
00024 
00030   class BALL_EXPORT StretchComponent : public ForceFieldComponent
00031   {
00032     public:
00033       BALL_CREATE(StretchComponent)
00034 
00035       
00038       StretchComponent();
00039 
00043       StretchComponent(ForceField& force_field);
00044 
00047       virtual ~StretchComponent();
00048 
00050 
00052 
00055 
00059       virtual double updateEnergy();
00060 
00064       virtual void updateForces();
00065 
00067 
00068     protected:
00069       /*_ @name Private Attributes  
00070       */
00071       //_@{
00072 
00073       /*_
00074       */
00075       std::vector<QuadraticBondStretch::Data> stretch_;
00076 
00077       /*_ The stretch parameters section
00078       */
00079       QuadraticBondStretch  stretch_parameters_;
00080 
00081       //_@}
00082   };
00083 } // namespace BALL
00084 
00085 #endif // BALL_MOLMEC_COMMON_STRETCHCOMPONENT_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines