19 FormFactorCoherentSum::FormFactorCoherentSum(
double abundance) : m_abundance(abundance) {}
 
   23     m_parts.push_back(part);
 
   26 complex_t FormFactorCoherentSum::evaluate(
const SimulationElement& sim_element)
 const 
   29     for (
auto& part : m_parts) {
 
   30         result += part.evaluate(sim_element);
 
   35 Eigen::Matrix2cd FormFactorCoherentSum::evaluatePol(
const SimulationElement& sim_element)
 const 
   37     Eigen::Matrix2cd result = Eigen::Matrix2cd::Zero();
 
   38     for (
auto& part : m_parts) {
 
   39         result += part.evaluatePol(sim_element);
 
   44 void FormFactorCoherentSum::scaleRelativeAbundance(
double total_abundance)
 
   46     if (total_abundance > 0.0) {
 
   47         m_abundance /= total_abundance;
 
   51                                           "Trying to scale with non strictly positive factor.");
 
   54 double FormFactorCoherentSum::radialExtension()
 const 
   56     return m_parts[0].radialExtension();
 
   59 FormFactorCoherentSum::FormFactorCoherentSum(
const std::vector<FormFactorCoherentPart>& parts,
 
   61     : m_parts(parts), m_abundance(abundance)
 
Defines many exception classes in namespace Exceptionss.
 
Defines class SimulationElement.
 
Data stucture containing both input and output of a single detector cell.