Juggler
Juggling algorithms and event processing using gaudi framework
GeometryContainers.hpp File Reference
#include "JugTrack/Utilities/GroupBy.hpp"
#include "JugTrack/Utilities/Range.hpp"
#include "Acts/Geometry/GeometryIdentifier.hpp"
#include "Acts/Surfaces/Surface.hpp"
#include <algorithm>
#include <cstddef>
#include <utility>
#include <boost/container/flat_map.hpp>
#include <boost/container/flat_set.hpp>

Go to the source code of this file.

Classes

struct  Jug::detail::GeometryIdGetter
 
struct  Jug::detail::CompareGeometryId
 
struct  Jug::GeometryIdMultisetAccessor< T >
 

Namespaces

 Jug
 
 Jug::detail
 

Functions

template<typename T >
Range< typename GeometryIdMultiset< T >::const_iterator > Jug::selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume)
 Select all elements within the given volume. More...
 
template<typename T >
auto Jug::selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename GeometryIdMultiset< T >::const_iterator > Jug::selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume, Acts::GeometryIdentifier::Value layer)
 Select all elements within the given layer. More...
 
template<typename T >
auto Jug::selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename GeometryIdMultiset< T >::const_iterator > Jug::selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier geoId)
 Select all elements for the given module / sensitive surface. More...
 
template<typename T >
auto Jug::selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume, Acts::GeometryIdentifier::Value layer, Acts::GeometryIdentifier::Value module)
 
template<typename T >
GroupBy< typename GeometryIdMultiset< T >::const_iterator, detail::GeometryIdGetter > Jug::groupByModule (const GeometryIdMultiset< T > &container)
 Iterate over groups of elements belonging to each module/ sensitive surface. More...