EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GeometryContainers.hpp File Reference
#include "Acts/Geometry/GeometryIdentifier.hpp"
#include "ActsExamples/Utilities/GroupBy.hpp"
#include "ActsExamples/Utilities/Range.hpp"
#include <algorithm>
#include <cstddef>
#include <utility>
#include <boost/container/flat_map.hpp>
#include <boost/container/flat_set.hpp>
+ Include dependency graph for GeometryContainers.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ActsExamples::detail::GeometryIdGetter
 
struct  ActsExamples::detail::CompareGeometryId
 

Namespaces

namespace  ActsExamples
 
namespace  ActsExamples::detail
 

Typedefs

template<typename T >
using ActsExamples::GeometryIdMultiset = boost::container::flat_multiset< T, detail::CompareGeometryId >
 
template<typename T >
using ActsExamples::GeometryIdMultimap = GeometryIdMultiset< std::pair< Acts::GeometryIdentifier, T >>
 

Functions

template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
ActsExamples::selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume)
 Select all elements within the given volume.
 
template<typename T >
auto ActsExamples::selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
ActsExamples::selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume, Acts::GeometryIdentifier::Value layer)
 Select all elements within the given layer.
 
template<typename T >
auto ActsExamples::selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
ActsExamples::selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier geoId)
 Select all elements for the given module / sensitive surface.
 
template<typename T >
auto ActsExamples::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 > 
ActsExamples::groupByModule (const GeometryIdMultiset< T > &container)
 Iterate over groups of elements belonging to each module/ sensitive surface.