forceFieldParameters.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: forceFieldParameters.h,v 1.20 2005/12/23 17:01:54 amoll Exp $
00005 //
00006 
00007 // Molecular Mechanics: general force field parameter class
00008 
00009 #ifndef BALL_MOLMEC_FORCEFIELDPARAMETERS_H
00010 #define BALL_MOLMEC_FORCEFIELDPARAMETERS_H
00011 
00012 #ifndef BALL_COMMON_H
00013 # include <BALL/common.h>
00014 #endif
00015 
00016 #ifndef BALL_FORMAT_PARAMETERS_H
00017 # include <BALL/FORMAT/parameters.h>
00018 #endif
00019 
00020 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
00021 # include <BALL/MOLMEC/PARAMETER/atomTypes.h>
00022 #endif
00023 
00024 namespace BALL 
00025 {
00026   class AtomTypes;
00027   
00032   class BALL_EXPORT ForceFieldParameters
00033     : public Parameters
00034   {
00035     public:
00036 
00037     BALL_CREATE(ForceFieldParameters)
00038 
00039     friend class ForceField;
00040 
00044 
00047     ForceFieldParameters();
00048 
00051     ForceFieldParameters(const String& filename);
00052 
00055     ForceFieldParameters(const ForceFieldParameters& force_field_parameter);
00056 
00059     virtual ~ForceFieldParameters()
00060       ;
00061 
00063 
00066 
00069     virtual void clear()
00070       ;
00071 
00074     const ForceFieldParameters& operator = (const ForceFieldParameters& param);
00075     
00077 
00080 
00083     AtomTypes&  getAtomTypes();
00084 
00087     virtual bool init();
00088 
00090 
00093       
00100     virtual bool isValid() const;
00101 
00104     bool operator == (const ForceFieldParameters& param) const;
00105 
00107 
00108     protected:
00109 
00110     /*_@name  Protected Members 
00111     */
00112     //_@{ 
00113 
00114     /*_ the atom types section
00115     */
00116     AtomTypes atom_types_;
00117 
00118     //_@} 
00119   };
00120 } // namespace BALL
00121 
00122 #endif // BALL_MOLMEC_FORCEFIELDPARAMETERS_H