BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
anonymous_namespace{InterferenceFunctionHardDisk.cpp} Namespace Reference

Functions

double Czero (double packing)
 
double S2 (double packing)
 
double W2 (double x)
 

Variables

const double p = 7.0 / 3.0 - 4.0 * std::sqrt(3.0) / M_PI
 

Function Documentation

◆ Czero()

double anonymous_namespace{InterferenceFunctionHardDisk.cpp}::Czero ( double  packing)

Definition at line 91 of file InterferenceFunctionHardDisk.cpp.

92 {
93  double numerator = 1.0 + packing + 3.0 * p * packing * packing - p * std::pow(packing, 3);
94  double denominator = std::pow(1.0 - packing, 3);
95  return -numerator / denominator;
96 }

References p.

Referenced by InterferenceFunctionHardDisk::iff_without_dw().

◆ S2()

double anonymous_namespace{InterferenceFunctionHardDisk.cpp}::S2 ( double  packing)

Definition at line 98 of file InterferenceFunctionHardDisk.cpp.

99 {
100  double factor = 3.0 * packing * packing / 8.0;
101  double numerator = 8.0 * (1.0 - 2.0 * p) + (25.0 - 9.0 * p) * p * packing
102  - (7.0 - 3.0 * p) * p * packing * packing;
103  double denominator = 1.0 + packing + 3.0 * p * packing * packing - p * std::pow(packing, 3);
104  return factor * numerator / denominator;
105 }

References p.

Referenced by InterferenceFunctionHardDisk::iff_without_dw().

◆ W2()

double anonymous_namespace{InterferenceFunctionHardDisk.cpp}::W2 ( double  x)

Definition at line 107 of file InterferenceFunctionHardDisk.cpp.

108 {
109  return 2.0 * (std::acos(x) - x * std::sqrt(1.0 - x * x)) / M_PI;
110 }
#define M_PI
Definition: MathConstants.h:39

References M_PI.

Referenced by InterferenceFunctionHardDisk::integrand().

Variable Documentation

◆ p

const double anonymous_namespace{InterferenceFunctionHardDisk.cpp}::p = 7.0 / 3.0 - 4.0 * std::sqrt(3.0) / M_PI