LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
lar::example::CoordRangeCells< Coord > Struct Template Reference

Range of coordinates. More...

#include "SpacePartition.h"

Inheritance diagram for lar::example::CoordRangeCells< Coord >:
lar::example::CoordRange< Coord >

Public Types

using Base_t = CoordRange< Coord >
 
using Coord_t = typename Base_t::Coord_t
 data type for coordinate More...
 
using Range_t = CoordRange< Coord >
 this type More...
 

Public Member Functions

 CoordRangeCells (Coord_t low, Coord_t high, Coord_t cs)
 Constructor: assigns range and cell size. More...
 
 CoordRangeCells (Base_t const &range, Coord_t cs)
 Constructor: assigns range and cell size. More...
 
std::ptrdiff_t findCell (Coord_t c) const
 Returns the index of the cell for coordinate c. More...
 
bool contains (Coord_t c) const
 Returns whether c is contained in the range (inclusve) More...
 
bool empty () const
 Returns whether the range is empty. More...
 
bool valid () const
 Returns whether the range is valid (empty is also valid) More...
 
Coord_t size () const
 Returns the size of the range (no check) More...
 
Coord_t offset (Coord_t c) const
 Returns the distance of the specified coordinate from the lower bound. More...
 
bool operator== (const Range_t &as) const
 Returns whether the specified range has the same limits as this. More...
 
bool operator!= (const Range_t &than) const
 Returns whether the specified range has limits different than this. More...
 

Public Attributes

Coord_t cellSize
 size of a single cell More...
 
Coord_t lower
 lower boundary More...
 
Coord_t upper
 upper boundary More...
 

Detailed Description

template<typename Coord>
struct lar::example::CoordRangeCells< Coord >

Range of coordinates.

Definition at line 135 of file SpacePartition.h.

Member Typedef Documentation

template<typename Coord>
using lar::example::CoordRangeCells< Coord >::Base_t = CoordRange<Coord>

Definition at line 136 of file SpacePartition.h.

template<typename Coord>
using lar::example::CoordRangeCells< Coord >::Coord_t = typename Base_t::Coord_t

data type for coordinate

Definition at line 139 of file SpacePartition.h.

template<typename Coord>
using lar::example::CoordRange< Coord >::Range_t = CoordRange<Coord>
inherited

this type

Definition at line 103 of file SpacePartition.h.

Constructor & Destructor Documentation

template<typename Coord >
lar::example::CoordRangeCells< Coord >::CoordRangeCells ( Coord_t  low,
Coord_t  high,
Coord_t  cs 
)

Constructor: assigns range and cell size.

Parameters
lowlower bound of the range
highupper bound of the range
cssize of each cell

Definition at line 410 of file SpacePartition.h.

Referenced by lar::example::CoordRange< Coord >::operator!=().

411  : Base_t(low, high), cellSize(cs)
412  {}
Coord_t cellSize
size of a single cell
CoordRange< Coord > Base_t
template<typename Coord >
lar::example::CoordRangeCells< Coord >::CoordRangeCells ( Base_t const &  range,
Coord_t  cs 
)

Constructor: assigns range and cell size.

Parameters
rangelower and upper bound of the range
cssize of each cell

Definition at line 416 of file SpacePartition.h.

417  : Base_t(range), cellSize(cs)
418  {}
Coord_t cellSize
size of a single cell
CoordRange< Coord > Base_t

Member Function Documentation

template<typename Coord >
bool lar::example::CoordRange< Coord >::contains ( Coord_t  c) const
inherited

Returns whether c is contained in the range (inclusve)

Definition at line 380 of file SpacePartition.h.

381  { return (lower <= c) && (upper >= c); }
Coord_t upper
upper boundary
Coord_t lower
lower boundary
template<typename Coord >
bool lar::example::CoordRange::Range_t::empty ( ) const
inherited

Returns whether the range is empty.

Definition at line 384 of file SpacePartition.h.

385  { return lower == upper; }
Coord_t upper
upper boundary
Coord_t lower
lower boundary
template<typename Coord >
std::ptrdiff_t lar::example::CoordRangeCells< Coord >::findCell ( Coord_t  c) const

Returns the index of the cell for coordinate c.

Definition at line 422 of file SpacePartition.h.

References lar::example::SpacePartition< PointIter >::SpacePartition().

423  { return std::ptrdiff_t(Base_t::offset(c) / cellSize); }
Coord_t cellSize
size of a single cell
Coord_t offset(Coord_t c) const
Returns the distance of the specified coordinate from the lower bound.
template<typename Coord>
Coord_t lar::example::CoordRange< Coord >::offset ( Coord_t  c) const
inlineinherited

Returns the distance of the specified coordinate from the lower bound.

Definition at line 122 of file SpacePartition.h.

122 { return c - lower; }
Coord_t lower
lower boundary
template<typename Coord >
bool lar::example::CoordRange< Coord >::operator!= ( const Range_t than) const
inherited

Returns whether the specified range has limits different than this.

Definition at line 401 of file SpacePartition.h.

References lar::example::CoordRangeCells< Coord >::CoordRangeCells(), lar::example::CoordRange< Coord >::lower, and lar::example::CoordRange< Coord >::upper.

402  { return (upper != than.upper) || (lower != than.lower); }
Coord_t upper
upper boundary
Coord_t lower
lower boundary
template<typename Coord >
bool lar::example::CoordRange< Coord >::operator== ( const Range_t as) const
inherited

Returns whether the specified range has the same limits as this.

Definition at line 397 of file SpacePartition.h.

References lar::example::CoordRange< Coord >::lower, and lar::example::CoordRange< Coord >::upper.

398  { return (upper == as.upper) && (lower == as.lower); }
Coord_t upper
upper boundary
Coord_t lower
lower boundary
template<typename Coord >
Coord lar::example::CoordRange< Coord >::size ( ) const
inherited

Returns the size of the range (no check)

Definition at line 393 of file SpacePartition.h.

Referenced by lar::example::details::diceVolume().

394  { return upper - lower; }
Coord_t upper
upper boundary
Coord_t lower
lower boundary
template<typename Coord >
bool lar::example::CoordRange< Coord >::valid ( ) const
inherited

Returns whether the range is valid (empty is also valid)

Definition at line 389 of file SpacePartition.h.

Referenced by lar::example::PointIsolationAlg< Coord >::validateConfiguration().

390  { return lower <= upper; }
Coord_t upper
upper boundary
Coord_t lower
lower boundary

Member Data Documentation

template<typename Coord>
Coord_t lar::example::CoordRangeCells< Coord >::cellSize

size of a single cell

Definition at line 141 of file SpacePartition.h.

Referenced by lar::example::details::diceVolume().


The documentation for this struct was generated from the following file: