BALL  1.4.1
quadraticAngleBend.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004  
00005 #ifndef BALL_MOLMEC_PARAMETER_QUADRATICANGLEBEND_H
00006 #define BALL_MOLMEC_PARAMETER_QUADRATICANGLEBEND_H
00007 
00008 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00009 # include <BALL/FORMAT/parameterSection.h>
00010 #endif
00011 
00012 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
00013 # include <BALL/MOLMEC/PARAMETER/atomTypes.h>
00014 #endif
00015 
00016 #ifndef BALL_KERNEL_ATOM_H
00017 # include <BALL/KERNEL/atom.h>
00018 #endif
00019 
00020 namespace BALL 
00021 {
00028   class BALL_EXPORT QuadraticAngleBend 
00029     : public ParameterSection
00030   {
00031     public:
00032 
00033     enum 
00034     {
00035       UNKNOWN
00036     };
00037 
00038     struct BALL_EXPORT Values 
00039     {
00040       float theta0;
00041       float k;
00042     };
00043 
00044     struct BALL_EXPORT Data
00045     {
00046       Atom* atom1;
00047       Atom* atom2;
00048       Atom* atom3;
00049       Values values;
00050     };
00051 
00052 
00055     QuadraticAngleBend();
00056 
00059     virtual ~QuadraticAngleBend() ;
00060 
00063     virtual void clear() ;
00064 
00070     virtual bool extractSection(ForceFieldParameters& parameters, const String& section_name);
00071     virtual bool extractSection(Parameters& parameters, const String& section_name);
00072 
00075     bool hasParameters(Atom::Type I, Atom::Type J, Atom::Type K) const;
00076     
00079     QuadraticAngleBend::Values getParameters
00080       (Atom::Type I, Atom::Type J, Atom::Type K) const;
00081     
00086     bool assignParameters
00087       (QuadraticAngleBend::Values& parameters, 
00088        Atom::Type I, Atom::Type J, Atom::Type K) const;
00089     
00090     protected:
00091 
00092     Size            number_of_atom_types_;
00093 
00094     vector<Values>  values_;
00095 
00096     vector<Index>   value_index_;
00097   };
00098 } // namespace BALL
00099 
00100 #endif // BALL_MOLMEC_PARAMETER_QUADRATICBONDSTRETCH_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines