00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: RDFSection.h,v 1.16 2005/12/23 17:02:01 amoll Exp $ 00005 // 00006 00007 #ifndef BALL_STRUCTURE_RDFSECTION_H 00008 #define BALL_STRUCTURE_RDFSECTION_H 00009 00010 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H 00011 # include <BALL/STRUCTURE/radialDistributionFunction.h> 00012 #endif 00013 00014 #ifndef BALL_FORMAT_PARAMETERSECTION_H 00015 # include <BALL/FORMAT/parameterSection.h> 00016 #endif 00017 00018 namespace BALL 00019 { 00023 class BALL_EXPORT RDFSection 00024 : public ParameterSection 00025 { 00026 public: 00027 00028 BALL_CREATE(RDFSection) 00029 00030 00033 00034 enum Type 00035 { 00036 UNKNOWN_TYPE = 0, 00037 PIECEWISE_POLYNOMIAL = 1 00038 }; 00039 00041 00044 00047 RDFSection() ; 00048 00051 RDFSection(const RDFSection& rdf_section) ; 00052 00055 virtual ~RDFSection() ; 00056 00058 00061 00063 const RDFSection& operator = (const RDFSection& rdf_section) ; 00064 00067 virtual void clear() ; 00068 00070 00073 00075 virtual bool extractSection(Parameters& parameters, const String& section_name) 00076 ; 00077 00079 00082 00085 const RadialDistributionFunction& getRDF() const ; 00086 00088 00091 00094 bool operator == (const RDFSection& section) const ; 00095 00097 00098 protected: 00099 00100 /*_ The RDF that is to be read from a section */ 00101 RadialDistributionFunction rdf_; 00102 00103 }; 00104 00105 } // namespace BALL 00106 00107 00108 #endif // BALL_STRUCTURE_RDFSECTION_H