source: sasview/realSpaceModeling/pointsmodelpy/libpointsmodelpy/points_model.h @ f2d6445

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since f2d6445 was f2d6445, checked in by Mathieu Doucet <doucetm@…>, 17 years ago

moving realSpaceModeling to trunk

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[f2d6445]1/** \file points_model.h child class of SANSmodel*/
2
3#ifndef POINTSMODEL_H
4#define POINTSMODEL_H
5
6#include <vector>
7#include "tnt/tnt.h"
8#include <string>
9#include "Point3D.h"
10#include "iq.h"
11#include "sans_model.h"
12
13using namespace std;
14
15class PointsModel : public SANSModel{
16 public:
17  PointsModel();
18  virtual ~PointsModel();
19
20  void CalculateIQ(IQ *iq);
21  double CalculateIQ(double q);
22  double CalculateIQError(double q);
23  void CalculateIQ_2D(IQ *iq,double phi);
24  double CalculateIQ_2D(double qx, double qy);
25 
26  //given a set of points, calculate distance correlation
27  //function, and return the max dist
28  double DistDistribution(const vector<Point3D>&);
29  void DistDistributionXY(const vector<Point3D>&);
30
31  Array2D<double> GetPr();
32  void OutputPR(const std::string &);
33  void OutputPR_XY(const std::string &);
34
35  virtual int GetPoints(Point3DVector &) = 0;
36  void OutputPDB(const vector<Point3D>&,const char*);
37
38  //will be used in calculating P(r), the maximum distance
39  virtual double GetDimBound() = 0;
40  //will be used to determin the maximum distance for
41  //several pointsmodel instances
42  virtual vector<double> GetCenter();
43
44 protected:
45  double CalculateRstep(int num_points, double rmax);
46  double rmax_, rstep_,cormax_,cormax_xy_;
47  int r_grids_num_;
48  vector<double> center_;
49
50 private:
51  Array2D<double> pr_,pr_xy_;
52  vector<double> product_sld_;
53};
54
55#endif
Note: See TracBrowser for help on using the repository browser.