00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_SOLVATION_SOLVENTPARAMETER_H
00008 #define BALL_SOLVATION_SOLVENTPARAMETER_H
00009
00010 #ifndef BALL_SOLVATION_SOLVENTDESCRIPTOR_H
00011 # include <BALL/SOLVATION/solventDescriptor.h>
00012 #endif
00013
00014 #ifndef BALL_FORMAT_PARAMETERS_H
00015 # include <BALL/FORMAT/parameters.h>
00016 #endif
00017
00018 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00019 # include <BALL/FORMAT/parameterSection.h>
00020 #endif
00021
00022 #ifndef BALL_MOLMEC_PARAMETER_FORCEFIELDPARAMETERS_H
00023 # include <BALL/MOLMEC/PARAMETER/forceFieldParameters.h>
00024 #endif
00025
00026 namespace BALL
00027 {
00033 class BALL_EXPORT SolventParameter
00034 : public ParameterSection
00035 {
00036
00037 public:
00038
00039 BALL_CREATE(SolventParameter)
00040
00041
00044
00047 SolventParameter();
00048
00049
00050
00053 SolventParameter(const SolventParameter& param);
00054
00057 SolventParameter(const AtomTypes& atom_types);
00058
00060 virtual ~SolventParameter();
00061
00063
00066
00069 const SolventParameter& operator = (const SolventParameter& param);
00070
00073 virtual void clear();
00074
00076
00079
00082 const SolventDescriptor& getSolventDescriptor() const;
00083
00087 SolventDescriptor& getSolventDescriptor();
00088
00091 const String& getSolventName() const;
00092
00093
00096 const float& getSolventDensity() const;
00097
00100 const std::vector<SolventAtomDescriptor>& getSolventDescription() const;
00101
00103
00106
00109 bool operator == (const SolventParameter& param) const;
00110
00112
00115 virtual bool extractSection(Parameters& parameters, const String& section_name);
00116
00117
00118 protected:
00119
00120
00121
00122 String name_;
00123
00124
00125
00126 float number_density_;
00127
00128
00129
00130 std::vector<SolventAtomDescriptor> solvent_atoms_;
00131
00132
00133
00134 SolventDescriptor solvent_descriptor_;
00135
00136
00137
00138 AtomTypes atom_types_;
00139
00140 };
00141 }
00142
00143 #endif // BALL_SOLVATION_SOLVENTPARAMETER_H