All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | List of all members
proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl > Class Template Reference

Proxy collection class for space points associated to charge. More...

#include <ChargedSpacePoints.h>

Inheritance diagram for proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl >:
proxy::CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...> proxy::details::MainCollectionProxy< MainColl >

Public Member Functions

auto const & spacePoints () const
 Returns the original collection of space points. More...
 
auto const & charges () const
 Returns the original collection of charge information. More...
 
- Public Member Functions inherited from proxy::CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...>
 CollectionProxyBase (main_collection_t const &main, AuxColls &&...aux)
 Constructor: uses the specified data. More...
 
element_proxy_t const operator[] (std::size_t i) const
 Returns the element of this collection with the specified index. More...
 
const_iterator begin () const
 Returns an iterator to the first element of the collection. More...
 
const_iterator end () const
 Returns an iterator past the last element of the collection. More...
 
bool empty () const
 Returns whether this collection is empty. More...
 
std::size_t size () const
 Returns the size of this collection. More...
 
auto get () const -> decltype(auto)
 Returns the associated data proxy specified by AuxTag. More...
 
auto getIf () const -> decltype(auto)
 Returns the auxiliary data specified by type (Tag). More...
 
- Public Member Functions inherited from proxy::details::MainCollectionProxy< MainColl >
 MainCollectionProxy (main_collection_t const &main)
 Constructor: wraps the specified collection. More...
 
main_collection_t const & main () const
 Returns the wrapped collection. More...
 
main_collection_t const & mainRef () const
 Returns a reference to the wrapped collection. More...
 
main_collection_t const * mainPtr () const
 Returns a pointer to the wrapped collection. More...
 

Private Types

using base_t = CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...>
 

Additional Inherited Members

- Public Types inherited from proxy::CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...>
using element_proxy_t = SpacePointWithCharge< collection_proxy_t >
 Type of element of this collection proxy. More...
 
using aux_collections_t = std::tuple< AuxColls...>
 Tuple of all auxiliary data collections (wrappers). More...
 
using value_type = element_proxy_t
 Type of element of this collection proxy. More...
 
using const_iterator = details::IndexBasedIterator< collection_proxy_t >
 Type of iterator to this collection (constant). More...
 
using iterator = const_iterator
 Type of iterator to this collection (still constant). More...
 
using main_element_t = util::collection_value_t< MainColl >
 Type of the elements in the original collection. More...
 
using main_collection_t = MainColl
 Type of the original collection. More...
 
- Public Types inherited from proxy::details::MainCollectionProxy< MainColl >
using main_collection_t = MainColl
 Type of the original collection. More...
 
using main_element_t = util::collection_value_t< MainColl >
 Type of the elements in the original collection. More...
 
- Static Public Member Functions inherited from proxy::CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...>
static constexpr bool has ()
 Returns whether this class knowns about the specified type (Tag). More...
 
- Protected Types inherited from proxy::details::MainCollectionProxy< MainColl >
using this_t = MainCollectionProxy< main_collection_t >
 This type. More...
 
- Protected Member Functions inherited from proxy::CollectionProxyBase< SpacePointWithCharge, MainColl, AuxColl...>
AuxColl const & aux () const
 Returns the auxiliary data specified by type. More...
 
auto auxByTag () const -> decltype(auto)
 Returns the auxiliary data specified by type. More...
 
auto getIfHas (std::bool_constant< true >) const -> decltype(auto)
 
auto getIfHas (std::bool_constant< false >) const -> T
 
const_iterator makeIterator (std::size_t i) const
 Returns an iterator pointing to the specified index of this collection. More...
 
- Protected Member Functions inherited from proxy::details::MainCollectionProxy< MainColl >
this_tmainProxy ()
 Return this object as main collection proxy. More...
 
this_t const & mainProxy () const
 Return this object as main collection proxy. More...
 
auto getMainAt (std::size_t i) const -> decltype(auto)
 Returns the specified item in the original collection. More...
 

Detailed Description

template<typename MainColl, typename... AuxColl>
class proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl >

Proxy collection class for space points associated to charge.

Template Parameters
MainColltype of space point collection
AuxColltypes of auxiliary data collections
See Also
proxy::SpacePointWithCharge, proxy::CollectionProxyBase

This proxy collection allows access to space point and charge collection directly:

auto points = proxy::getChargedSpacePoints(event, pointsTag);
auto const& spacePoints = points.spacePoints();
auto const& charges = points.charges();

When accessing the collection proxy element by element (that is, charged space point by charged space point), the available interface is documented in proxy::SpacePointWithCharge.

The standard proxy interface is also available (see proxy::CollectionProxyBase).

Definition at line 323 of file ChargedSpacePoints.h.

Member Typedef Documentation

template<typename MainColl , typename... AuxColl>
using proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl >::base_t = CollectionProxyBase<SpacePointWithCharge, MainColl, AuxColl...>
private

Definition at line 327 of file ChargedSpacePoints.h.

Member Function Documentation

template<typename MainColl , typename... AuxColl>
auto const& proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl >::charges ( ) const
inline

Returns the original collection of charge information.

Definition at line 337 of file ChargedSpacePoints.h.

338  {
339  return base_t::template get<ChargedSpacePoints::ChargeTag>().dataRef();
340  }
template<typename MainColl , typename... AuxColl>
auto const& proxy::ChargedSpacePointsCollectionProxy< MainColl, AuxColl >::spacePoints ( ) const
inline

Returns the original collection of space points.

Definition at line 333 of file ChargedSpacePoints.h.

334  { return base_t::main(); }
main_collection_t const & main() const
Returns the wrapped collection.

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