radialDistributionFunction.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: radialDistributionFunction.h,v 1.20 2005/12/23 17:02:04 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00008 #define BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00009 
00010 #ifndef BALL_MATHS_PPOLYNOMIAL_H
00011 # include <BALL/MATHS/piecewisePolynomial.h>
00012 #endif
00013 
00014 namespace BALL
00015 {
00024   class BALL_EXPORT RadialDistributionFunction 
00025   {
00026     public:
00027     
00028     BALL_CREATE(RadialDistributionFunction)
00029 
00030     
00033 
00036     RadialDistributionFunction() 
00037       ;
00038 
00041     RadialDistributionFunction(const RadialDistributionFunction& rdf)
00042       ;
00043 
00046     RadialDistributionFunction(const PiecewisePolynomial& polynomial)
00047       ;
00048     
00051     virtual ~RadialDistributionFunction() 
00052       ;
00053 
00055 
00058 
00061     const RadialDistributionFunction& operator = (const RadialDistributionFunction& rdf)
00062       ;
00063 
00066     virtual void clear() 
00067       ;
00068 
00070 
00073 
00076     void setRepresentation(const PiecewisePolynomial& polynomial) 
00077       ;
00078 
00081     const PiecewisePolynomial& getRepresentation() const 
00082       ;
00083 
00086     const Interval& getRange() const 
00087       ;
00088 
00091     virtual double operator () (double x) const 
00092       ;
00093 
00095 
00098 
00101     bool isInRange(double x) const 
00102       ;
00103 
00106     bool isValid() const 
00107       ;
00108 
00111     bool operator == (const RadialDistributionFunction& rdf) const 
00112       ;
00113 
00115 
00118 
00121     virtual void dump (std::ostream& s = std::cout, Size depth = 0) const 
00122       ;
00123 
00125 
00126     protected:
00127 
00128     /*_ The representation of the RDF.
00129     */
00130     PiecewisePolynomial representation_;
00131 
00132     /*_ The valid flag.
00133     */
00134     bool                valid_;
00135 
00136   };
00137    
00138 }
00139 
00140 #endif // BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H