Classes describing partition of cryostat volume. More...
#include "larcorealg/Geometry/DriftPartitions.h"
#include "larcorealg/Geometry/PlaneGeo.h"
#include "larcorealg/Geometry/TPCGeo.h"
#include "larcorealg/Geometry/CryostatGeo.h"
#include "larcorealg/Geometry/Decomposer.h"
#include "larcorealg/CoreUtils/DumpUtils.h"
#include "larcorealg/CoreUtils/RealComparisons.h"
#include "cetlib_except/exception.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include <vector>
#include <iterator>
#include <algorithm>
#include <utility>
#include <memory>
#include <type_traits>
#include <cassert>
#include <cmath>
#include <cstdlib>
Go to the source code of this file.
Classes | |
struct | TPCgroup_t |
struct | TPCwithArea_t |
struct | SorterByKey< Key, ExtractKey, Comparer > |
Typedefs | |
using | TPCandPos_t = std::pair< double, geo::TPCGeo const * > |
template<geo::part::AreaOwner::AreaRangeMember_t Range> | |
using | SortTPCareaByAreaRangeLower = SorterByKey< double, geo::part::details::RangeLowerBoundExtractor< Range >> |
using | SortTPCwithAreaByWidth = SortTPCareaByAreaRangeLower<&geo::part::AreaOwner::Area_t::width > |
using | SortTPCwithAreaByDepth = SortTPCareaByAreaRangeLower<&geo::part::AreaOwner::Area_t::depth > |
Functions | |
std::vector< std::pair< geo::DriftPartitions::DriftDir_t, std::vector< geo::TPCGeo const * > > > | groupTPCsByDriftDir (geo::CryostatGeo const &cryo) |
std::vector< TPCandPos_t > | sortTPCsByDriftCoord (std::vector< geo::TPCGeo const * > const &TPCs, geo::DriftPartitions::Decomposer_t const &decomp) |
std::vector< TPCgroup_t > | groupByDriftCoordinate (std::vector< TPCandPos_t > const &TPCs) |
unsigned int | checkTPCcoords (std::vector< geo::TPCGeo const * > const &TPCs) |
template<typename Range > | |
geo::DriftPartitions::DriftDir_t | detectGlobalDriftDir (Range &&directions) |
geo::part::AreaOwner::Area_t | TPCarea (geo::TPCGeo const &TPC, geo::DriftPartitions::Decomposer_t const &decomposer) |
std::vector< TPCwithArea_t > | addAreaToTPCs (std::vector< geo::TPCGeo const * > const &TPCs, geo::DriftPartitions::Decomposer_t const &decomposer) |
template<typename BeginIter , typename EndIter > | |
geo::part::AreaOwner::Area_t | computeTotalArea (BeginIter TPCbegin, EndIter TPCend) |
template<geo::part::AreaOwner::AreaRangeMember_t sortingRange, typename BeginIter , typename EndIter > | |
std::vector< std::vector< TPCwithArea_t const * >::const_iterator > | groupTPCsByRangeCoord (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<geo::part::AreaOwner::AreaRangeMember_t sortingRange, typename BeginIter , typename EndIter > | |
std::pair< std::vector< TPCwithArea_t const * >, std::vector< std::vector< TPCwithArea_t const * >::const_iterator > > | sortAndGroupTPCsByRangeCoord (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<typename BeginIter , typename EndIter , typename TPCendIter , typename SubpartMaker > | |
geo::part::Partition< geo::TPCGeo const >::Subpartitions_t | createSubpartitions (BeginIter itTPCbegin, EndIter itTPCend, TPCendIter TPCend, SubpartMaker subpartMaker) |
auto | makeTPCPartitionElement (TPCwithArea_t const &TPCinfo) |
template<typename BeginIter , typename EndIter > | |
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > | makeWidthPartition (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<typename BeginIter , typename EndIter > | |
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > | makeDepthPartition (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<typename BeginIter , typename EndIter > | |
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > | makeGridPartition (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<typename BeginIter , typename EndIter > | |
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > | makePartition (BeginIter beginTPCwithArea, EndIter endTPCwithArea) |
template<typename TPCPartitionResultType , geo::part::AreaOwner::AreaRangeMember_t Range, typename BeginIter , typename EndIter , typename SubpartMaker > | |
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > | makeSortedPartition (BeginIter beginTPCwithArea, EndIter endTPCwithArea, SubpartMaker subpartMaker) |
template<typename BeginIter , typename EndIter > | |
auto | makeCPointerVector (BeginIter b, EndIter e) |
template<typename T > | |
auto | makeCPointerVector (std::vector< T > const &v) |
std::unique_ptr< geo::DriftPartitions::TPCPartition_t > | makePartition (std::vector< TPCwithArea_t > const &TPCs) |
Classes describing partition of cryostat volume.
Definition in file DriftPartitions.cxx.
using SortTPCareaByAreaRangeLower = SorterByKey<double, geo::part::details::RangeLowerBoundExtractor<Range>> |
Definition at line 485 of file DriftPartitions.cxx.
Definition at line 490 of file DriftPartitions.cxx.
Definition at line 488 of file DriftPartitions.cxx.
using TPCandPos_t = std::pair<double, geo::TPCGeo const*> |
Definition at line 156 of file DriftPartitions.cxx.
std::vector<TPCwithArea_t> addAreaToTPCs | ( | std::vector< geo::TPCGeo const * > const & | TPCs, |
geo::DriftPartitions::Decomposer_t const & | decomposer | ||
) |
Definition at line 426 of file DriftPartitions.cxx.
unsigned int checkTPCcoords | ( | std::vector< geo::TPCGeo const * > const & | TPCs | ) |
Definition at line 302 of file DriftPartitions.cxx.
geo::part::AreaOwner::Area_t computeTotalArea | ( | BeginIter | TPCbegin, |
EndIter | TPCend | ||
) |
Definition at line 446 of file DriftPartitions.cxx.
geo::part::Partition<geo::TPCGeo const>::Subpartitions_t createSubpartitions | ( | BeginIter | itTPCbegin, |
EndIter | itTPCend, | ||
TPCendIter | TPCend, | ||
SubpartMaker | subpartMaker | ||
) |
Definition at line 590 of file DriftPartitions.cxx.
geo::DriftPartitions::DriftDir_t detectGlobalDriftDir | ( | Range && | directions | ) |
Definition at line 356 of file DriftPartitions.cxx.
std::vector<TPCgroup_t> groupByDriftCoordinate | ( | std::vector< TPCandPos_t > const & | TPCs | ) |
Definition at line 260 of file DriftPartitions.cxx.
std::vector<std::pair<geo::DriftPartitions::DriftDir_t, std::vector<geo::TPCGeo const*> > > groupTPCsByDriftDir | ( | geo::CryostatGeo const & | cryo | ) |
Definition at line 180 of file DriftPartitions.cxx.
std::vector<std::vector<TPCwithArea_t const*>::const_iterator> groupTPCsByRangeCoord | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 500 of file DriftPartitions.cxx.
auto makeCPointerVector | ( | BeginIter | b, |
EndIter | e | ||
) |
Definition at line 1071 of file DriftPartitions.cxx.
auto makeCPointerVector | ( | std::vector< T > const & | v | ) |
Definition at line 1081 of file DriftPartitions.cxx.
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > makeDepthPartition | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 747 of file DriftPartitions.cxx.
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > makeGridPartition | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 760 of file DriftPartitions.cxx.
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > makePartition | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 999 of file DriftPartitions.cxx.
std::unique_ptr<geo::DriftPartitions::TPCPartition_t> makePartition | ( | std::vector< TPCwithArea_t > const & | TPCs | ) |
Definition at line 1087 of file DriftPartitions.cxx.
std::unique_ptr<geo::part::Partition<geo::TPCGeo const> > makeSortedPartition | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea, | ||
SubpartMaker | subpartMaker | ||
) |
Definition at line 674 of file DriftPartitions.cxx.
auto makeTPCPartitionElement | ( | TPCwithArea_t const & | TPCinfo | ) |
Definition at line 644 of file DriftPartitions.cxx.
std::unique_ptr< geo::part::Partition< geo::TPCGeo const > > makeWidthPartition | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 735 of file DriftPartitions.cxx.
std::pair< std::vector<TPCwithArea_t const*>, std::vector<std::vector<TPCwithArea_t const*>::const_iterator> > sortAndGroupTPCsByRangeCoord | ( | BeginIter | beginTPCwithArea, |
EndIter | endTPCwithArea | ||
) |
Definition at line 563 of file DriftPartitions.cxx.
std::vector<TPCandPos_t> sortTPCsByDriftCoord | ( | std::vector< geo::TPCGeo const * > const & | TPCs, |
geo::DriftPartitions::Decomposer_t const & | decomp | ||
) |
Definition at line 226 of file DriftPartitions.cxx.
geo::part::AreaOwner::Area_t TPCarea | ( | geo::TPCGeo const & | TPC, |
geo::DriftPartitions::Decomposer_t const & | decomposer | ||
) |
Definition at line 402 of file DriftPartitions.cxx.