BALL  1.4.1
potential1210.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_POTENTIAL1210_H
00006 #define BALL_MOLMEC_PARAMETER_POTENTIAL1210_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 namespace BALL 
00017 {
00025   class BALL_EXPORT Potential1210 
00026     : public ParameterSection
00027   {
00028     public:
00029 
00030     enum 
00031     {
00032       UNKNOWN
00033     };
00034 
00035     struct BALL_EXPORT Values 
00036     {
00037       float A;
00038       float B;
00039     };
00040 
00041     struct BALL_EXPORT Data
00042     {
00043       Atom*   atom1;
00044       Atom*   atom2;
00045       Values  values;
00046     };
00047 
00048 
00052 
00055     Potential1210() ;
00056 
00059     Potential1210(const Potential1210& pot1210) ;
00060 
00063     virtual ~Potential1210() ;
00064     
00067     virtual void clear() ;
00068 
00070 
00073 
00079     virtual bool extractSection(ForceFieldParameters& parameters, 
00080         const String& section_name) ;
00081 
00083     virtual bool extractSection(Parameters& parameters, 
00084         const String& section_name) ;
00085 
00088     bool hasParameters(Atom::Type I, Atom::Type J) const ;
00089     
00092     Potential1210::Values getParameters
00093       (Atom::Type I, Atom::Type J) const ;
00094     
00099     bool assignParameters
00100       (Potential1210::Values& parameters, 
00101        Atom::Type I, Atom::Type J) const ;
00102 
00104 
00107 
00110     const Potential1210& operator = (const Potential1210& pot1210) ;
00111 
00113 
00116 
00119     bool operator == (const Potential1210& pot1210) const ;
00120 
00122 
00123     protected:
00124 
00125     Size                  number_of_atom_types_;
00126 
00127     std::vector<float>    A_;
00128     
00129     std::vector<float>    B_;
00130 
00131     std::vector<bool>     is_defined_;
00132       
00133     std::vector<String>   names_;
00134   };
00135 } // namespace BALL
00136 
00137 #endif // BALL_MOLMEC_PARAMETER_POTENTIAL1210_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines