00001
00002
00003
00004
00005
00006
00007
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
00111
00112
00113
00114
00115
00116 AtomTypes atom_types_;
00117
00118
00119 };
00120 }
00121
00122 #endif // BALL_MOLMEC_FORCEFIELDPARAMETERS_H