LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
SpacePartition.h File Reference

Class to organise data into a 3D grid. More...

#include "lardata/Utilities/GridContainers.h"
#include <cstddef>
#include <cmath>
#include <vector>
#include <array>
#include <string>
#include <stdexcept>

Go to the source code of this file.

Classes

struct  lar::example::PositionExtractor< Point >
 Helper extractor for point coordinates. More...
 
struct  lar::example::details::PointTraits_t< Point >
 
struct  lar::example::CoordRange< Coord >
 Range of coordinates. More...
 
struct  lar::example::CoordRangeCells< Coord >
 Range of coordinates. More...
 
class  lar::example::SpacePartition< PointIter >
 A container of points sorted in cells. More...
 
struct  lar::example::details::PositionExtractorFromArray< Cont, Data >
 Base for PositionExtractor on random-access containers. More...
 
struct  lar::example::details::PointTraits_t< Point >
 
struct  lar::example::PositionExtractor< T * >
 Specialisation of PositionExtractor for C array: { x, y, z }. More...
 
struct  lar::example::PositionExtractor< std::array< T, 3U > >
 Specialisation of PositionExtractor for C++ array: { x, y, z }. More...
 
struct  lar::example::PositionExtractor< std::vector< T > >
 

Namespaces

 lar
 LArSoft-specific namespace.
 
 lar::example
 LArSoft examples.
 
 lar::example::details
 Implementation detail namespace (content is not documented)
 

Typedefs

template<typename Point >
using lar::example::details::ExtractCoordType_t = typename details::PointTraits_t< Point >::Coord_t
 type of Point coordinate More...
 

Functions

template<typename Point >
auto lar::example::details::extractPositionX (Point const &point)
 
template<typename Point >
auto lar::example::details::extractPositionY (Point const &point)
 
template<typename Point >
auto lar::example::details::extractPositionZ (Point const &point)
 
template<typename Coord >
std::array< size_t, 3 > lar::example::details::diceVolume (CoordRangeCells< Coord > const &rangeX, CoordRangeCells< Coord > const &rangeY, CoordRangeCells< Coord > const &rangeZ)
 Returns the dimensions of a grid diced with the specified size. More...
 

Detailed Description

Class to organise data into a 3D grid.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)
Date
May 27, 2016

This library provides:

  • SpacePartition: class to organise data in space into a 3D grid
  • CoordRange: simple coordinate range (interval) class
  • PositionExtractor: abstraction to extract a 3D position from an object

This library contains only template classes and it is header only.

Definition in file SpacePartition.h.