BALL  1.4.1
radialDistributionFunction.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00006 #define BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00007 
00008 #ifndef BALL_MATHS_PPOLYNOMIAL_H
00009 # include <BALL/MATHS/piecewisePolynomial.h>
00010 #endif
00011 
00012 namespace BALL
00013 {
00022   class BALL_EXPORT RadialDistributionFunction 
00023   {
00024     public:
00025     
00026     BALL_CREATE(RadialDistributionFunction)
00027 
00028     
00031 
00034     RadialDistributionFunction() 
00035       ;
00036 
00039     RadialDistributionFunction(const RadialDistributionFunction& rdf)
00040       ;
00041 
00044     RadialDistributionFunction(const PiecewisePolynomial& polynomial)
00045       ;
00046     
00049     virtual ~RadialDistributionFunction() 
00050       ;
00051 
00053 
00056 
00059     const RadialDistributionFunction& operator = (const RadialDistributionFunction& rdf)
00060       ;
00061 
00064     virtual void clear() 
00065       ;
00066 
00068 
00071 
00074     void setRepresentation(const PiecewisePolynomial& polynomial) 
00075       ;
00076 
00079     const PiecewisePolynomial& getRepresentation() const 
00080       ;
00081 
00084     const Interval& getRange() const 
00085       ;
00086 
00089     virtual double operator () (double x) const 
00090       ;
00091 
00093 
00096 
00099     bool isInRange(double x) const 
00100       ;
00101 
00104     bool isValid() const 
00105       ;
00106 
00109     bool operator == (const RadialDistributionFunction& rdf) const 
00110       ;
00111 
00113 
00116 
00119     virtual void dump (std::ostream& s = std::cout, Size depth = 0) const 
00120       ;
00121 
00123 
00124     protected:
00125 
00126     /*_ The representation of the RDF.
00127     */
00128     PiecewisePolynomial representation_;
00129 
00130     /*_ The valid flag.
00131     */
00132     bool                valid_;
00133 
00134   };
00135    
00136 }
00137 
00138 #endif // BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines