/// This method performs the actual removal of the i-th scatterer. void CompositeBraggScatterer::removeScattererImplementation(size_t i) { if (i >= nScatterers()) { throw std::out_of_range("Index is out of range."); } m_scatterers.erase(m_scatterers.begin() + i); }
/// Returns the i-th scatterer or throws an std::out_of_range exception. BraggScatterer_sptr CompositeBraggScatterer::getScatterer(size_t i) const { if (i >= nScatterers()) { throw std::out_of_range("Index is out of range."); } return m_scatterers[i]; }
/// Removes all scatterers. void CompositeBraggScatterer::removeAllScatterers() { while (nScatterers() > 0) { removeScattererImplementation(0); } redeclareProperties(); }
/// Removes the i-th scatterer from the composite or throws an std::out_of_range /// exception. void CompositeBraggScatterer::removeScatterer(size_t i) { if (i >= nScatterers()) { throw std::out_of_range("Index is out of range."); } m_scatterers.erase(m_scatterers.begin() + i); redeclareProperties(); }
/// Removes all scatterers. void CompositeBraggScatterer::removeAllScatterers() { while (nScatterers() > 0) { removeScatterer(0); } }