LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
Partitions.h File Reference

Classes describing partition of an area with associated data. More...

#include "larcorealg/Geometry/SimpleGeo.h"
#include "larcorealg/CoreUtils/DebugUtils.h"
#include <algorithm>
#include <vector>
#include <string>
#include <sstream>
#include <iterator>
#include <memory>
#include <utility>
#include <type_traits>
#include <cassert>
#include <cstdlib>

Go to the source code of this file.

Classes

class  geo::part::AreaOwner
 A basic interface for objects owning an area. More...
 
struct  geo::part::details::PartitionSorterByAreaRangeLower< Range >
 Ordering class to sort partition by specified range (lower boundary). More...
 
struct  geo::part::PartitionDataDescriber< Data >
 Class providing custom dump for data contained in the partition. More...
 
class  geo::part::PartitionBase
 Non-template definitions and data for Partition class hierarchy. More...
 
class  geo::part::Partition< Data >
 Base element of a partitioned structure. More...
 
class  geo::part::PartitionWithData< Data >
 Partition also containing data directly. More...
 
class  geo::part::PartitionElement< Data >
 Unpartitioned element ("leaf") of a partitioned area. More...
 
class  geo::part::PartitionContainer< Data >
 Partition divided in subpartitions (abstract). More...
 
class  geo::part::SortedPartition< Data, Sorter >
 Partition of area sorted across a dimension. More...
 
class  geo::part::PartitionSortedByRange< Data, Range >
 Partition of area along a area range dimension (width or depth). More...
 
class  geo::part::DepthPartition< Data >
 Partition of area along the depth dimension. More...
 
class  geo::part::WidthPartition< Data >
 Partition of area along the width dimension. More...
 
class  geo::part::GridPartition< Data >
 A container of partitions organised in a width/depth rectangular grid. More...
 
struct  geo::part::details::is_partition_type< T, typename >
 Trait type evaluating true if T is derived from PartitionBase. More...
 
struct  geo::part::details::is_partition_type < Part, std::enable_if_t < std::is_base_of< PartitionBase, std::decay_t< Part > >::value > >
 
struct  geo::part::details::is_partition_ptr< typename, typename >
 Trait type evaluating true if T is pointer to some PartitionBase. More...
 
struct  geo::part::details::enable_if_t < is_partition_type_v< decltype(*std::declval< PartPtr >())> >
 
struct  geo::part::details::is_partition_ptr_iterator< typename, typename >
 Trait type evaluating true if T is iterator to some PartitionBase. More...
 
struct  geo::part::details::is_partition_ptr_iterator < Iter, std::enable_if_t < is_partition_ptr_v< std::decay_t< typename Iter::value_type > > > >
 
struct  geo::part::details::RangeLowerBoundExtractor< Range >
 Class extracting the lower bound of the specified range of an area. More...
 
struct  geo::part::details::PartitionRangeLowerBoundExtractor< Range >
 
struct  geo::part::details::PartitionSorterByAreaRangeLower< Range >
 Ordering class to sort partition by specified range (lower boundary). More...
 

Namespaces

 geo
 Namespace collecting geometry-related classes utilities.
 
 geo::part
 Partition-related utilities.
 
 geo::part::details
 

Functions

template<typename Stream , typename Data >
void geo::part::describePartitionData (Stream &&out, Data const *data, std::string indent="", std::string firstIndent="")
 Describes a data object for Partition::describe() method. More...
 

Variables

template<typename T >
constexpr bool geo::part::details::is_partition_type_v = is_partition_type<T>()
 Constant true if T is derived from PartitionBase. More...
 
template<typename T >
constexpr bool geo::part::details::is_partition_ptr_v = is_partition_ptr<T>()
 Constant true if T is pointer to some PartitionBase. More...
 

Detailed Description

Classes describing partition of an area with associated data.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)
Date
July 13, 2017

This is used by geo::DriftPartitions to describe the partition of a plane across TPCs.

Definition in file Partitions.h.