Open PaperOpt
OpenPaperOpt/DistributionElliptic.h
Go to the documentation of this file.
00001 
00002 #pragma once
00003 #ifndef DISTRIBUTIONELLIPTIC_H
00004 #define DISTRIBUTIONELLIPTIC_H
00005 #include "Distribution.h"
00006 #include "DistributionTable.h"
00007 
00008 namespace Distributions
00009 {
00015         class DistributionElliptic :
00016                 public Distribution
00017         {
00018         public:
00022                 DistributionElliptic(void);
00023 
00033                 DistributionElliptic(double IntervalMin, double IntervalMax, 
00034                                                          double AxisDirection, double Ellipticity, 
00035                                                          double AllowedErr=1e-5);
00036 
00040                 ~DistributionElliptic(void);
00041 
00042 // OPERATIONS  
00048                 double GenerateRandomNumber() const;
00049 
00050 private:
00051                 double Interp(double X1, double X2, double Y1, double Y2, double X);
00052                 double f(double Theta);
00053                 double mIntervalMin;
00054                 double mIntervalMax;
00055                 double mAxisDirection;
00056                 double mEllipticity;
00057                 double mA;
00058                 double mB;
00059                 DistributionTable* mpDt;
00060         }; //DistributionElliptic
00061 } // Distributions
00062 
00063 #endif // DISTRIBUTIONELLIPTIC_H