25 : m_layers_bottomz(std::move(layers_bottomz)), m_layer_fill_limits(m_layers_bottomz.size() + 1)
34 double top = particle_limits.
m_top + offset;
35 double bottom = particle_limits.
m_bottom + offset;
37 throw std::runtime_error(
"LayerFillLimits::update: lower_limit > upper_limit.");
42 for (
size_t i_layer = top_index; i_layer < bottom_index + 1; ++i_layer) {
77 throw std::runtime_error(
"LayerFillLimits::updateLayerLimits: given limits are not "
86 ZLimits bounded_limits(lower - layer_ref, upper - layer_ref);
95 return bounded_limits;
Defines class LayerFillLimits.
ZLimits ConvexHull(const ZLimits &left, const ZLimits &right)
LayerFillLimits(std::vector< double > layers_bottomz)
std::vector< ZLimits > m_layer_fill_limits
std::vector< ZLimits > layerZLimits() const
Returns the filled region limits for each layer (in local layer coordinates)
std::vector< double > m_layers_bottomz
void updateLayerLimits(size_t i_layer, ZLimits limits)
void update(ParticleLimits particle_limits, double offset=0.0)
Particle limits are given in global coordinates.
size_t layerIndexTop(double top_z) const
size_t layerIndexBottom(double bottom_z) const
Class that contains upper and lower limits of the z-coordinate for the slicing of form factors.
OneSidedLimit lowerLimit() const
OneSidedLimit upperLimit() const
ZLimits CalculateNewLayerLimits(ZLimits old_limits, ZLimits bounded_limits)
Vertical extension of a particle, specified by bottom and top z coordinate.