BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
InterferenceFunctionUtils Namespace Reference

Typedefs

using matrixFFVector_t = std::vector< Eigen::Matrix2cd, Eigen::aligned_allocator< Eigen::Matrix2cd > >
 

Functions

std::vector< complex_tPrecomputeScalarFormFactors (const SimulationElement &sim_element, const std::vector< FormFactorCoherentSum > &ff_wrappers)
 
matrixFFVector_t PrecomputePolarizedFormFactors (const SimulationElement &sim_element, const std::vector< FormFactorCoherentSum > &ff_wrappers)
 

Typedef Documentation

◆ matrixFFVector_t

using InterferenceFunctionUtils::matrixFFVector_t = typedef std::vector<Eigen::Matrix2cd, Eigen::aligned_allocator<Eigen::Matrix2cd> >

Definition at line 27 of file InterferenceFunctionUtils.h.

Function Documentation

◆ PrecomputeScalarFormFactors()

std::vector< complex_t > InterferenceFunctionUtils::PrecomputeScalarFormFactors ( const SimulationElement sim_element,
const std::vector< FormFactorCoherentSum > &  ff_wrappers 
)

Definition at line 21 of file InterferenceFunctionUtils.cpp.

23 {
24  std::vector<complex_t> result;
25  for (auto& ffw : ff_wrappers) {
26  result.push_back(ffw.evaluate(sim_element));
27  }
28  return result;
29 }

Referenced by DecouplingApproximationStrategy::scalarCalculation(), and SSCApproximationStrategy::scalarCalculation().

◆ PrecomputePolarizedFormFactors()

matrixFFVector_t InterferenceFunctionUtils::PrecomputePolarizedFormFactors ( const SimulationElement sim_element,
const std::vector< FormFactorCoherentSum > &  ff_wrappers 
)

Definition at line 32 of file InterferenceFunctionUtils.cpp.

34 {
35  matrixFFVector_t result;
36  for (auto& ffw : ff_wrappers) {
37  result.push_back(ffw.evaluatePol(sim_element));
38  }
39  return result;
40 }
std::vector< Eigen::Matrix2cd, Eigen::aligned_allocator< Eigen::Matrix2cd > > matrixFFVector_t

Referenced by DecouplingApproximationStrategy::polarizedCalculation(), and SSCApproximationStrategy::polarizedCalculation().