LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
geo::part::GridPartition< Data > Class Template Reference

A container of partitions organised in a width/depth rectangular grid. More...

#include "Partitions.h"

Inheritance diagram for geo::part::GridPartition< Data >:
geo::part::PartitionContainer< Data > geo::part::PartitionWithData< Data > geo::part::Partition< Data > geo::part::PartitionBase geo::part::AreaOwner

Public Types

using Partition_t = Partition< Data >
 Base type of the partition. More...
 
using Base_t = PartitionContainer< Data >
 Base class. More...
 
using Data_t = typename Partition_t::Data_t
 Type of contained data. More...
 
using Area_t = typename Partition_t::Area_t
 Type of covered area. More...
 
using Subpartitions_t = typename Base_t::Subpartitions_t
 
using AreaRangeMember_t = AreaOwner::AreaRangeMember_t
 

Public Member Functions

 GridPartition (Area_t const &area, Subpartitions_t &&subpartitions, unsigned int nDepthPartitions, unsigned int nWidthPartitions, Data_t *defData=nullptr)
 Creates a partition with a grid of subpartitions. More...
 
 GridPartition (Area_t const &area, Subpartitions_t &&subpartitions, unsigned int nDepthPartitions, Data_t *defData=nullptr)
 
virtual Data_tatPoint (double w, double d) const override
 Returns stored datum only if point is covered, nullptr otherwise. More...
 
virtual Data_tdata () const override
 Returns the datum directly stored (nullptr if none). More...
 
std::string describe (std::string indent, std::string firstIndent) const
 Returns a description of the partition. More...
 
std::string describe (std::string indent="") const
 Returns a description of the partition. More...
 
template<typename Pred >
void walk (Pred &&pred) const
 Applies pred to all partitions. More...
 
std::size_t nParts () const
 Returns the number of subparts in the partition (0 if simple element). More...
 
bool contains (double w, double d) const
 Returns whether the specified point is covered by this object. More...
 
Area_t const & area () const
 Returns the covered area. More...
 
template<typename Stream >
void dumpArea (Stream &&out) const
 Output the owned area into an output stream. More...
 

Protected Member Functions

std::size_t size () const
 Returns the number of contained subpartitions. More...
 
virtual Subpartitions_t const & parts () const override
 Returns a list of the subpartitions owned. More...
 
virtual std::string describeIntro () const
 Introduction to the description of the subpartitions. More...
 
std::string describeArea (std::string indent, std::string firstIndent) const
 Returns a description of the partition area. More...
 

Static Protected Member Functions

template<typename Pred >
static void walk (Partition_t const *start, Pred &&pred)
 

Protected Attributes

Subpartitions_t myParts
 List of subpartitions. More...
 

Static Protected Attributes

static Subpartitions_t const NoSubparts
 Subpartitions (if any). More...
 

Private Member Functions

std::size_t nWidthParts () const
 Number of partitions on width direction. More...
 
std::size_t nDepthParts () const
 
auto part (std::size_t iDepth, std::size_t iWidth) -> decltype(auto)
 
auto part (std::size_t iDepth, std::size_t iWidth) const -> decltype(auto)
 
virtual Partition_t const * findPart (double w, double d) const override
 Returns the only partition which could contain the specified depth. More...
 
std::vector< double > computeWidthSeps (unsigned int nD, unsigned int nW) const
 Computes and returns width separation levels proper for widthSeps. More...
 
std::vector< double > computeDepthSeps (unsigned int nD, unsigned int nW) const
 Computes and returns width separation levels proper for depthSeps. More...
 
virtual std::string doDescribe (std::string indent, std::string firstIndent) const override
 Prints the information about the partition grid. More...
 

Static Private Member Functions

template<PartitionBase::AreaRangeMember_t Range, typename BeginIter , typename EndIter >
static std::vector< double > detectSeparators (BeginIter b, EndIter e, std::size_t const nGroups, std::size_t const startDelta, std::size_t const stride)
 

Private Attributes

std::vector< double > widthSeps
 Separators for width dimension. More...
 
std::vector< double > depthSeps
 Separators for depth dimension. More...
 

Detailed Description

template<typename Data>
class geo::part::GridPartition< Data >

A container of partitions organised in a width/depth rectangular grid.

Definition at line 492 of file Partitions.h.

Member Typedef Documentation

template<typename Data >
using geo::part::GridPartition< Data >::Area_t = typename Partition_t::Area_t

Type of covered area.

Definition at line 499 of file Partitions.h.

template<typename Data >
using geo::part::GridPartition< Data >::Base_t = PartitionContainer<Data>

Base class.

Definition at line 495 of file Partitions.h.

template<typename Data >
using geo::part::GridPartition< Data >::Data_t = typename Partition_t::Data_t

Type of contained data.

Definition at line 498 of file Partitions.h.

template<typename Data >
using geo::part::GridPartition< Data >::Partition_t = Partition<Data>

Base type of the partition.

Definition at line 494 of file Partitions.h.

template<typename Data >
using geo::part::GridPartition< Data >::Subpartitions_t = typename Base_t::Subpartitions_t

Definition at line 500 of file Partitions.h.

Constructor & Destructor Documentation

template<typename Data >
geo::part::GridPartition< Data >::GridPartition ( Area_t const &  area,
Subpartitions_t &&  subpartitions,
unsigned int  nDepthPartitions,
unsigned int  nWidthPartitions,
Data_t defData = nullptr 
)

Creates a partition with a grid of subpartitions.

Parameters
areatotal area covered by this partition
subpartitionsall subpartitions, row by row
nDepthPartitionsnumber of partitions on depth direction ("rows")
nWidthPartitionsnumber of partitions on width direction ("columns")
defDatapartition data for areas not covered by subpartitions

The content of the collection of subpartitions is stolen. The subpartitions in that collection are expected to be organized by row: (0;0), (0,1), (0,2)... where the first index spans nDepthPartitions values and the second one spans nWidthPartitions values.

Definition at line 871 of file Partitions.h.

References geo::part::PartitionContainer< Data >::size().

877  : Base_t(area, std::move(subpartitions), defData)
878  , widthSeps(computeWidthSeps(nDepthPartitions, nWidthPartitions))
879  , depthSeps(computeDepthSeps(nDepthPartitions, nWidthPartitions))
880 {
881  assert(nWidthPartitions * nDepthPartitions == Base_t::size());
882 } // geo::part::GridPartition<Data>::GridPartition()
std::vector< double > computeDepthSeps(unsigned int nD, unsigned int nW) const
Computes and returns width separation levels proper for depthSeps.
Definition: Partitions.h:943
std::vector< double > depthSeps
Separators for depth dimension.
Definition: Partitions.h:531
std::vector< double > widthSeps
Separators for width dimension.
Definition: Partitions.h:530
std::vector< double > computeWidthSeps(unsigned int nD, unsigned int nW) const
Computes and returns width separation levels proper for widthSeps.
Definition: Partitions.h:935
PartitionContainer< Data > Base_t
Base class.
Definition: Partitions.h:495
Area_t const & area() const
Returns the covered area.
Definition: Partitions.h:53
std::size_t size() const
Returns the number of contained subpartitions.
Definition: Partitions.h:335
template<typename Data >
geo::part::GridPartition< Data >::GridPartition ( Area_t const &  area,
Subpartitions_t &&  subpartitions,
unsigned int  nDepthPartitions,
Data_t defData = nullptr 
)

Constructor: autodetects nWidthPartitions from number of subpartitions.

Definition at line 885 of file Partitions.h.

891  std::move(subpartitions),
892  nDepthPartitions,
893  (nDepthPartitions ? subpartitions.size() / nDepthPartitions : 0),
894  defData)
895 {}
Area_t const & area() const
Returns the covered area.
Definition: Partitions.h:53
GridPartition(Area_t const &area, Subpartitions_t &&subpartitions, unsigned int nDepthPartitions, unsigned int nWidthPartitions, Data_t *defData=nullptr)
Creates a partition with a grid of subpartitions.
Definition: Partitions.h:871

Member Function Documentation

template<typename Data >
auto geo::part::PartitionContainer< Data >::atPoint ( double  w,
double  d 
) const
overridevirtualinherited

Returns stored datum only if point is covered, nullptr otherwise.

Reimplemented from geo::part::PartitionWithData< Data >.

Definition at line 784 of file Partitions.h.

References d, part, and w.

785 {
786  if (!Base_t::contains(w, d)) return nullptr; // not our point at all
787  // it's ours; see if it belongs to a subpart
788  auto part = findPart(w, d);
789  return part ? part->atPoint(w, d) : Base_t::data();
790 } // geo::part::PartitionContainer<Data>::atPoint()
bool contains(double w, double d) const
Returns whether the specified point is covered by this object.
Definition: Partitions.h:50
TString part[npart]
Definition: Style.C:32
Float_t d
Definition: plot.C:235
virtual Partition_t const * findPart(double w, double d) const =0
Returns the only partition which could contain the specified width.
virtual Data_t * data() const override
Returns the datum directly stored (nullptr if none).
Definition: Partitions.h:285
Float_t w
Definition: plot.C:20
template<typename Data >
std::vector< double > geo::part::GridPartition< Data >::computeDepthSeps ( unsigned int  nD,
unsigned int  nW 
) const
private

Computes and returns width separation levels proper for depthSeps.

Definition at line 943 of file Partitions.h.

References geo::part::PartitionContainer< Data >::parts().

945 {
946  return detectSeparators<&Area_t::depth>(
947  Base_t::parts().cbegin(), Base_t::parts().cend(), nD, nW, 1U);
948 } // geo::part::GridPartition<Data>::computeDepthSeps()
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
template<typename Data >
std::vector< double > geo::part::GridPartition< Data >::computeWidthSeps ( unsigned int  nD,
unsigned int  nW 
) const
private

Computes and returns width separation levels proper for widthSeps.

Definition at line 935 of file Partitions.h.

References geo::part::PartitionContainer< Data >::parts().

937 {
938  return detectSeparators<&Area_t::width>(
939  Base_t::parts().cbegin(), Base_t::parts().cend(), nW, 1U, nW);
940 } // geo::part::GridPartition<Data>::computeWidthSeps()
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
bool geo::part::AreaOwner::contains ( double  w,
double  d 
) const
inlineinherited

Returns whether the specified point is covered by this object.

Definition at line 50 of file Partitions.h.

References geo::part::AreaOwner::area(), and lar::util::simple_geo::Rectangle< Data >::contains().

50 { return area().contains(w, d); }
bool contains(Data_t w, Data_t d) const
Returns whether the specified point is in the area.
Definition: SimpleGeo.h:442
Float_t d
Definition: plot.C:235
Area_t const & area() const
Returns the covered area.
Definition: Partitions.h:53
Float_t w
Definition: plot.C:20
template<typename Data >
virtual Data_t* geo::part::PartitionWithData< Data >::data ( ) const
inlineoverridevirtualinherited

Returns the datum directly stored (nullptr if none).

Reimplemented from geo::part::Partition< Data >.

Definition at line 285 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::doDescribe().

285 { return myData; }
Data_t * myData
The contained datum.
Definition: Partitions.h:294
template<typename Data>
std::string geo::part::Partition< Data >::describe ( std::string  indent,
std::string  firstIndent 
) const
inlineinherited

Returns a description of the partition.

Definition at line 215 of file Partitions.h.

216  {
217  return doDescribe(indent, firstIndent);
218  }
virtual std::string doDescribe(std::string indent, std::string firstIndent) const
Returns a description of the partition.
Definition: Partitions.h:256
std::string indent(std::size_t const i)
template<typename Data>
std::string geo::part::Partition< Data >::describe ( std::string  indent = "") const
inlineinherited

Returns a description of the partition.

Definition at line 221 of file Partitions.h.

References geo::part::Partition< Data >::describe(), and art::detail::indent().

Referenced by geo::part::Partition< Data >::describe().

221 { return describe(indent, indent); }
std::string indent(std::size_t const i)
std::string describe(std::string indent, std::string firstIndent) const
Returns a description of the partition.
Definition: Partitions.h:215
std::string geo::part::PartitionBase::describeArea ( std::string  indent,
std::string  firstIndent 
) const
inlineprotectedinherited

Returns a description of the partition area.

Definition at line 575 of file Partitions.h.

References geo::part::AreaOwner::dumpArea(), and part.

Referenced by geo::part::Partition< Data >::doDescribe().

577 {
578  std::ostringstream sstr;
579  sstr << firstIndent << "partition covers ";
580  dumpArea(sstr);
581  return sstr.str();
582 } // geo::part::PartitionBase::describeArea()
void dumpArea(Stream &&out) const
Output the owned area into an output stream.
Definition: Partitions.h:57
template<typename Data >
std::string geo::part::PartitionContainer< Data >::describeIntro ( ) const
protectedvirtualinherited

Introduction to the description of the subpartitions.

Reimplemented in geo::part::WidthPartition< Data >, and geo::part::DepthPartition< Data >.

Definition at line 815 of file Partitions.h.

References util::size(), and util::to_string().

Referenced by geo::part::GridPartition< Data >::doDescribe().

816 {
817  return std::to_string(parts().size()) + " subpartitions";
818 } // geo::part::PartitionContainer<Data>::describeIntro()
decltype(auto) constexpr to_string(T &&obj)
ADL-aware version of std::to_string.
std::size_t size() const
Returns the number of contained subpartitions.
Definition: Partitions.h:335
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
template<typename Data >
template<geo::part::AreaOwner::AreaRangeMember_t Range, typename BeginIter , typename EndIter >
std::vector< double > geo::part::GridPartition< Data >::detectSeparators ( BeginIter  b,
EndIter  e,
std::size_t const  nGroups,
std::size_t const  startDelta,
std::size_t const  stride 
)
staticprivate

Definition at line 952 of file Partitions.h.

References geo::part::Partition< Data >::nParts(), and geo::part::GridPartition< Data >::part().

957 {
958  /*
959  * The iterators are better be random access.
960  * The range [b,e[ is considered to be a 2D table stored row after row.
961  * This function can operate on rows or columns, given the proper arguments.
962  *
963  * The full range is split in nGroups "groups" (e.g. rows or columns).
964  * Each group g starts at the element g x startDelta.
965  * All members of that group are stride elements far from each other.
966  *
967  * Be the table of size (d x w).
968  * To process data row by row:
969  * - the group is a row
970  * - the number of groups is the number of rows: nGroups = d
971  * - each group will have (d x w)/nGroups = w elements
972  * - the start offset is the number of group times the size of it:
973  * startDelta = w
974  * - the elements are contiguous: stride = 1
975  *
976  * To process data column by column:
977  * - the group is a column
978  * - the number of groups is the number of columns: nGroups = w
979  * - each group will have (d x w)/nGroups = d elements
980  * - the start offset matches the number of group: startDelta = 1
981  * - the elements are separated by a full row: stride = w
982  *
983  */
984  // the separator is on the lower bound of selected range of the partition area
985 
986  static_assert(details::is_partition_ptr_iterator<BeginIter>(),
987  "Begin iterator does not point to a pointer to partition type");
988 
989  details::PartitionRangeLowerBoundExtractor<Range> lowerBound;
990 
991  std::size_t const nParts = std::distance(b, e);
992  std::size_t const nPartsInGroup = nParts / nGroups;
993 
994  auto const part = [b](std::size_t index) { return std::next(b, index)->get(); };
995 
996  std::vector<double> seps(nGroups);
997  for (size_t g = 0; g < nGroups; ++g) {
998 
999  double& sep = seps[g];
1000 
1001  // indices of an element in the previous and next group, respectively
1002  std::size_t index = g * startDelta;
1003  sep = lowerBound(part(index));
1004 
1005  std::size_t const iend = index + nPartsInGroup * stride;
1006  while ((index += stride) < iend) {
1007  double const l = lowerBound(part(index));
1008  if (sep > l) sep = l;
1009  } // while (element)
1010 
1011  } // while (groups)
1012  return seps;
1013 } // geo::part::GridPartition<Data>::detectSeparators()
auto part(std::size_t iDepth, std::size_t iWidth) -> decltype(auto)
Definition: Partitions.h:538
std::size_t nParts() const
Returns the number of subparts in the partition (0 if simple element).
Definition: Partitions.h:247
Float_t e
Definition: plot.C:35
template<typename Data >
std::string geo::part::GridPartition< Data >::doDescribe ( std::string  indent,
std::string  firstIndent 
) const
overrideprivatevirtual

Prints the information about the partition grid.

Reimplemented from geo::part::PartitionContainer< Data >.

Definition at line 899 of file Partitions.h.

References geo::part::PartitionWithData< Data >::data(), geo::part::PartitionContainer< Data >::describeIntro(), geo::part::describePartitionData(), geo::part::GridPartition< Data >::nDepthParts(), geo::part::GridPartition< Data >::nWidthParts(), and geo::part::GridPartition< Data >::part().

901 {
902  std::ostringstream sstr;
903  sstr << firstIndent << Base_t::describeIntro() << " in a (WxD) = " << nWidthParts() << " x "
904  << nDepthParts() << " grid";
905  if (Base_t::data()) {
906  sstr << ", and ";
908  }
909  for (std::size_t iDepth = 0; iDepth < nDepthParts(); ++iDepth) {
910  for (std::size_t iWidth = 0; iWidth < nWidthParts(); ++iWidth) {
911  sstr << "\n"
912  << indent << " [" << iDepth << "][" << iWidth << "] "
913  << part(iDepth, iWidth)->describe(indent + " ", "");
914  } // for width
915  } // for depth
916 
917  return sstr.str();
918 } // geo::part::GridPartition<Data>::doDescribe()
void describePartitionData(Stream &&out, Data const *data, std::string indent="", std::string firstIndent="")
Describes a data object for Partition::describe() method.
Definition: Partitions.h:730
auto part(std::size_t iDepth, std::size_t iWidth) -> decltype(auto)
Definition: Partitions.h:538
std::string indent(std::size_t const i)
std::size_t nWidthParts() const
Number of partitions on width direction.
Definition: Partitions.h:534
virtual Data_t * data() const override
Returns the datum directly stored (nullptr if none).
Definition: Partitions.h:285
virtual std::string describeIntro() const
Introduction to the description of the subpartitions.
Definition: Partitions.h:815
std::size_t nDepthParts() const
Definition: Partitions.h:536
template<typename Stream >
void geo::part::AreaOwner::dumpArea ( Stream &&  out) const
inlineinherited

Output the owned area into an output stream.

Definition at line 57 of file Partitions.h.

References geo::part::AreaOwner::area().

Referenced by geo::part::PartitionBase::describeArea().

58  {
59  std::forward<Stream>(out) << area();
60  }
Area_t const & area() const
Returns the covered area.
Definition: Partitions.h:53
template<typename Data >
auto geo::part::GridPartition< Data >::findPart ( double  w,
double  d 
) const
overrideprivatevirtual

Returns the only partition which could contain the specified depth.

Implements geo::part::PartitionContainer< Data >.

Definition at line 922 of file Partitions.h.

References d, geo::part::GridPartition< Data >::depthSeps, geo::part::GridPartition< Data >::part(), w, and geo::part::GridPartition< Data >::widthSeps.

923 {
924  auto const iWidth = std::upper_bound(widthSeps.cbegin(), widthSeps.cend(), w);
925  if (iWidth == widthSeps.cbegin()) return nullptr;
926  auto const iDepth = std::upper_bound(depthSeps.cbegin(), depthSeps.cend(), d);
927  if (iDepth == depthSeps.cbegin()) return nullptr;
928  return part(std::distance(depthSeps.cbegin(), iDepth) - 1U,
929  std::distance(widthSeps.cbegin(), iWidth) - 1U)
930  .get();
931 } // geo::part::GridPartition<Data>::findPart()
auto part(std::size_t iDepth, std::size_t iWidth) -> decltype(auto)
Definition: Partitions.h:538
std::vector< double > depthSeps
Separators for depth dimension.
Definition: Partitions.h:531
std::vector< double > widthSeps
Separators for width dimension.
Definition: Partitions.h:530
Float_t d
Definition: plot.C:235
Float_t w
Definition: plot.C:20
template<typename Data >
std::size_t geo::part::GridPartition< Data >::nDepthParts ( ) const
inlineprivate

Definition at line 536 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::doDescribe().

536 { return depthSeps.size(); }
std::vector< double > depthSeps
Separators for depth dimension.
Definition: Partitions.h:531
template<typename Data>
std::size_t geo::part::Partition< Data >::nParts ( ) const
inlineinherited

Returns the number of subparts in the partition (0 if simple element).

Definition at line 247 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::detectSeparators().

247 { return parts().size(); }
virtual Subpartitions_t const & parts() const
Returns a list of all subpartitions.
Definition: Partitions.h:253
template<typename Data >
std::size_t geo::part::GridPartition< Data >::nWidthParts ( ) const
inlineprivate

Number of partitions on width direction.

Number of partitions on depth direction.

Definition at line 534 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::doDescribe().

template<typename Data >
auto geo::part::GridPartition< Data >::part ( std::size_t  iDepth,
std::size_t  iWidth 
) -> decltype(auto)
inlineprivate

Definition at line 538 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::detectSeparators(), geo::part::GridPartition< Data >::doDescribe(), and geo::part::GridPartition< Data >::findPart().

539  {
540  return Base_t::parts()[iDepth * nWidthParts() + iWidth];
541  }
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
std::size_t nWidthParts() const
Number of partitions on width direction.
Definition: Partitions.h:534
template<typename Data >
auto geo::part::GridPartition< Data >::part ( std::size_t  iDepth,
std::size_t  iWidth 
) const -> decltype(auto)
inlineprivate

Definition at line 542 of file Partitions.h.

References d, e, art::detail::indent(), and w.

543  {
544  return Base_t::parts()[iDepth * nWidthParts() + iWidth];
545  }
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
std::size_t nWidthParts() const
Number of partitions on width direction.
Definition: Partitions.h:534
template<typename Data >
virtual Subpartitions_t const& geo::part::PartitionContainer< Data >::parts ( ) const
inlineoverrideprotectedvirtualinherited

Returns a list of the subpartitions owned.

Reimplemented from geo::part::Partition< Data >.

Definition at line 338 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::computeDepthSeps(), and geo::part::GridPartition< Data >::computeWidthSeps().

338 { return myParts; }
Subpartitions_t myParts
List of subpartitions.
Definition: Partitions.h:332
template<typename Data >
std::size_t geo::part::PartitionContainer< Data >::size ( ) const
inlineprotectedinherited

Returns the number of contained subpartitions.

Definition at line 335 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::GridPartition().

335 { return parts().size(); }
virtual Subpartitions_t const & parts() const override
Returns a list of the subpartitions owned.
Definition: Partitions.h:338
template<typename Data>
template<typename Pred >
void geo::part::Partition< Data >::walk ( Pred &&  pred) const
inlineinherited

Applies pred to all partitions.

Template Parameters
Preda predicate type
Parameters
predthe predicate to be applied

The predicate pred is applied to this partition first, and then to all subpartitions in no specified order.

The predicate is any object behaving like a unary function of signature:

void predicate(Partition<Data> const& part);

If the predicate returns a value, that value is ignored. The predicate is forwarded while "walking" through the partitions.

Definition at line 241 of file Partitions.h.

242  {
243  walk(this, pred);
244  }
void walk(Pred &&pred) const
Applies pred to all partitions.
Definition: Partitions.h:241
template<typename Data >
template<typename Pred >
void geo::part::Partition< Data >::walk ( Partition_t const *  start,
Pred &&  pred 
)
staticprotectedinherited

Applies pred to start partition first, and then to all subpartitions.

Definition at line 748 of file Partitions.h.

References geo::part::Partition< Data >::parts().

749 {
750  if (!start) return;
751  pred(*start);
752 
753  // recursive implementation
754  for (auto const& subPart : start->parts())
755  subPart->walk(std::forward<Pred>(pred));
756 
757 } // geo::part::Partition<Data>::walk()

Member Data Documentation

template<typename Data >
std::vector<double> geo::part::GridPartition< Data >::depthSeps
private

Separators for depth dimension.

Definition at line 531 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::findPart().

template<typename Data >
Subpartitions_t geo::part::PartitionContainer< Data >::myParts
protectedinherited

List of subpartitions.

Definition at line 332 of file Partitions.h.

template<typename Data>
geo::part::Partition< Data >::Subpartitions_t const geo::part::Partition< Data >::NoSubparts
staticprotectedinherited

Subpartitions (if any).

Definition at line 250 of file Partitions.h.

template<typename Data >
std::vector<double> geo::part::GridPartition< Data >::widthSeps
private

Separators for width dimension.

Definition at line 530 of file Partitions.h.

Referenced by geo::part::GridPartition< Data >::findPart().


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