00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 00005 #ifndef BALL_STRUCTURE_RDFSECTION_H 00006 #define BALL_STRUCTURE_RDFSECTION_H 00007 00008 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H 00009 # include <BALL/STRUCTURE/radialDistributionFunction.h> 00010 #endif 00011 00012 #ifndef BALL_FORMAT_PARAMETERSECTION_H 00013 # include <BALL/FORMAT/parameterSection.h> 00014 #endif 00015 00016 namespace BALL 00017 { 00021 class BALL_EXPORT RDFSection 00022 : public ParameterSection 00023 { 00024 public: 00025 00026 BALL_CREATE(RDFSection) 00027 00028 00031 00032 enum Type 00033 { 00034 UNKNOWN_TYPE = 0, 00035 PIECEWISE_POLYNOMIAL = 1 00036 }; 00037 00039 00042 00045 RDFSection() ; 00046 00049 RDFSection(const RDFSection& rdf_section) ; 00050 00053 virtual ~RDFSection() ; 00054 00056 00059 00061 const RDFSection& operator = (const RDFSection& rdf_section) ; 00062 00065 virtual void clear() ; 00066 00068 00071 00073 virtual bool extractSection(Parameters& parameters, const String& section_name) 00074 ; 00075 00077 00080 00083 const RadialDistributionFunction& getRDF() const ; 00084 00086 00089 00092 bool operator == (const RDFSection& section) const ; 00093 00095 00096 protected: 00097 00098 /*_ The RDF that is to be read from a section */ 00099 RadialDistributionFunction rdf_; 00100 00101 }; 00102 00103 } // namespace BALL 00104 00105 00106 #endif // BALL_STRUCTURE_RDFSECTION_H