RDFIntegrator.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: RDFIntegrator.h,v 1.20 2005/12/23 17:02:01 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_STRUCTURE_RDFINTEGRATOR_H
00008 #define BALL_STRUCTURE_RDFINTEGRATOR_H
00009 
00010 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00011 # include <BALL/STRUCTURE/radialDistributionFunction.h>
00012 #endif
00013 
00014 namespace BALL
00015 {
00021   class BALL_EXPORT RDFIntegrator
00022   {
00023     public:
00024 
00025     BALL_CREATE(RDFIntegrator)
00026 
00027     
00030 
00033     RDFIntegrator()
00034       ;
00035 
00039     RDFIntegrator(const RDFIntegrator& integrator)
00040       ;
00041 
00045     RDFIntegrator(const RadialDistributionFunction& rdf)
00046       ;
00047 
00050     virtual ~RDFIntegrator()
00051       ;
00052 
00054 
00057 
00062     const RDFIntegrator& operator = (const RDFIntegrator& integrator)
00063       ;
00064 
00067     virtual void clear()
00068       ;
00069 
00071 
00072 
00073 
00078     bool operator == (const RDFIntegrator& integrator) const
00079       ;
00080 
00084     virtual bool isValid() const 
00085       ;
00086 
00088 
00089 
00090 
00095     void setRDF(const RadialDistributionFunction& rdf)
00096       ;
00097 
00101     const RadialDistributionFunction& getRDF() const
00102       ;
00103 
00110     virtual double operator () (double x) const
00111       ;
00112 
00114 
00115     protected:
00116 
00117     //_ The radial distribution function which is to be integrated.
00118     RadialDistributionFunction rdf_;
00119 
00120     /*_ A flag indicating validity of this instance. A sole RDFIntegrator
00121         instance cannot be valid, because it does not have any information
00122         about the potential for which it should be the integrating means.
00123         This flag is provided for derived classes.
00124     */
00125     bool valid_;
00126 
00127   };
00128    
00129 }
00130 #endif // BALL_STRUCTURE_RDFINTEGRATOR_H