Base forward iterator browsing all wire IDs in the detector. More...
#include <GeometryCore.h>
Public Types | |
using | ElementPtr_t = geo::WireGeo const * |
using | GeoID_t = typename upper_iterator::GeoID_t |
using | LocalID_t = geo::WireID |
type of the ID we change More... | |
using | iterator = wire_id_iterator_base< GeoID_t > |
type of this iterator More... | |
Iterator traits | |
using | difference_type = std::ptrdiff_t |
using | value_type = LocalID_t |
using | reference = value_type const & |
using | pointer = value_type const * |
using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
wire_id_iterator_base () | |
Default constructor; effect not defined: assign to it before using! More... | |
wire_id_iterator_base (geo::GeometryCore const *geom) | |
Constructor: points to begin. More... | |
wire_id_iterator_base (geo::GeometryCore const *geom, GeoID_t const &start_from) | |
Constructor: points to the specified wire. More... | |
wire_id_iterator_base (geo::GeometryCore const *geom, BeginPos_t const) | |
Constructor: points to begin. More... | |
wire_id_iterator_base (geo::GeometryCore const *geom, EndPos_t) | |
Constructor: points to end. More... | |
template<typename OTHERID > | |
bool | operator== (wire_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to the same wire. More... | |
template<typename OTHERID > | |
bool | operator!= (wire_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to different wires. More... | |
reference | operator* () const |
Returns the WireID the iterator points to. More... | |
pointer | operator-> () const |
Returns the WireID the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment: returns this iterator pointing to the next wire. More... | |
iterator | operator++ (int) |
Postfix increment: returns the current iterator, then increments it. More... | |
operator bool () const | |
Returns whether the iterator is pointing to a valid wire. More... | |
ElementPtr_t | get () const |
Returns a pointer to wire, or nullptr if invalid. More... | |
Protected Types | |
using | ID_t = typename LocalID_t::WireID_t |
specific type for wire ID More... | |
Protected Types inherited from geo::details::plane_id_iterator_base< GEOID > | |
using | ID_t = typename LocalID_t::PlaneID_t |
specific type for plane ID More... | |
using | ElementPtr_t = geo::PlaneGeo const * |
using | GeoID_t = typename upper_iterator::GeoID_t |
using | LocalID_t = geo::PlaneID |
type of the ID we change More... | |
using | iterator = plane_id_iterator_base< GeoID_t > |
type of this iterator More... | |
using | difference_type = std::ptrdiff_t |
using | value_type = LocalID_t |
using | reference = value_type const & |
using | pointer = value_type const * |
using | iterator_category = std::input_iterator_tag |
Protected Types inherited from geo::details::TPC_id_iterator_base< GEOID > | |
using | ID_t = typename LocalID_t::TPCID_t |
specific type for TPC ID More... | |
using | ElementPtr_t = geo::TPCGeo const * |
using | GeoID_t = typename upper_iterator::GeoID_t |
using | LocalID_t = geo::TPCID |
type of the ID we change More... | |
using | iterator = TPC_id_iterator_base< GeoID_t > |
type of this iterator More... | |
using | difference_type = std::ptrdiff_t |
using | value_type = LocalID_t |
using | reference = value_type const & |
using | pointer = value_type const * |
using | iterator_category = std::input_iterator_tag |
Protected Types inherited from geo::details::cryostat_id_iterator_base< GEOID > | |
using | ID_t = typename LocalID_t::CryostatID_t |
using | ElementPtr_t = geo::CryostatGeo const * |
using | GeoID_t = GEOID |
type of the actual ID stored in the iterator More... | |
using | iterator = cryostat_id_iterator_base< GeoID_t > |
this iterator More... | |
using | LocalID_t = geo::CryostatID |
type of the ID we change More... | |
using | difference_type = std::ptrdiff_t |
using | value_type = LocalID_t |
using | reference = value_type const & |
using | pointer = value_type const * |
using | iterator_category = std::input_iterator_tag |
Protected Member Functions | |
wire_id_iterator_base (geo::GeometryCore const *geom, UndefinedPos_t) | |
Constructor: position undefined (meaning undefined local limits too) More... | |
LocalID_t const & | localID () const |
Returns the type of ID we act on. More... | |
void | next () |
Skips to the next wire. More... | |
ID_t const & | local_index () const |
Returns the index (part if the ID) this iterator runs on. More... | |
Protected Member Functions inherited from geo::details::plane_id_iterator_base< GEOID > | |
plane_id_iterator_base (geo::GeometryCore const *geom, UndefinedPos_t) | |
Constructor: position undefined (meaning undefined local limits too) More... | |
LocalID_t const & | localID () const |
Returns the type of ID we act on. More... | |
void | next () |
Skips to the next plane. More... | |
ID_t const & | local_index () const |
Returns the index (part if the ID) this iterator runs on. More... | |
plane_id_iterator_base () | |
Default constructor; effect not defined: assign to it before using! More... | |
plane_id_iterator_base (geo::GeometryCore const *geom) | |
Constructor: points to begin. More... | |
plane_id_iterator_base (geo::GeometryCore const *geom, GeoID_t const &start_from) | |
Constructor: points to the specified plane. More... | |
plane_id_iterator_base (geo::GeometryCore const *geom, BeginPos_t const) | |
Constructor: points to begin. More... | |
plane_id_iterator_base (geo::GeometryCore const *geom, EndPos_t) | |
Constructor: points to end. More... | |
template<typename OTHERID > | |
bool | operator== (plane_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to the same plane. More... | |
template<typename OTHERID > | |
bool | operator!= (plane_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to different planes. More... | |
reference | operator* () const |
Returns the PlaneID the iterator points to. More... | |
pointer | operator-> () const |
Returns the PlaneID the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment: returns this iterator pointing to the next plane. More... | |
iterator | operator++ (int) |
Postfix increment: returns the current iterator, then increments it. More... | |
operator bool () const | |
Returns whether the iterator is pointing to a valid plane. More... | |
ElementPtr_t | get () const |
Returns a pointer to plane, or nullptr if invalid. More... | |
Protected Member Functions inherited from geo::details::TPC_id_iterator_base< GEOID > | |
TPC_id_iterator_base (geo::GeometryCore const *geom, UndefinedPos_t) | |
Constructor: position undefined (meaning undefined local limits too) More... | |
LocalID_t const & | localID () const |
Returns the type of ID we act on. More... | |
void | next () |
Skips to the next TPC. More... | |
ID_t const & | local_index () const |
Returns the index (part if the ID) this iterator runs on. More... | |
TPC_id_iterator_base () | |
Default constructor; effect not defined: assign to it before using! More... | |
TPC_id_iterator_base (geo::GeometryCore const *geom) | |
Constructor: points to begin. More... | |
TPC_id_iterator_base (geo::GeometryCore const *geom, GeoID_t const &start_from) | |
Constructor: points to the specified TPC. More... | |
TPC_id_iterator_base (geo::GeometryCore const *geom, BeginPos_t const) | |
Constructor: points to begin. More... | |
TPC_id_iterator_base (geo::GeometryCore const *geom, EndPos_t) | |
Constructor: points to end. More... | |
template<typename OTHERID > | |
bool | operator== (TPC_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to the same TPC. More... | |
template<typename OTHERID > | |
bool | operator!= (TPC_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to different TPCs. More... | |
reference | operator* () const |
Returns the TPCID the iterator points to. More... | |
pointer | operator-> () const |
Returns the TPCID the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment: returns this iterator pointing to the next TPC. More... | |
iterator | operator++ (int) |
Postfix increment: returns the current iterator, then increments it. More... | |
operator bool () const | |
Returns whether the iterator is pointing to a valid TPC. More... | |
ElementPtr_t | get () const |
Returns a pointer to TPC, or nullptr if invalid. More... | |
Protected Member Functions inherited from geo::details::cryostat_id_iterator_base< GEOID > | |
cryostat_id_iterator_base (geo::GeometryCore const *geom, UndefinedPos_t) | |
Constructor: does not set the current ID. More... | |
void | next () |
Skips to the next cryostat. More... | |
bool | at_end () const |
Returns whether this iterator has reached the end. More... | |
GeoID_t const & | ID () const |
Returns the actual type of ID we store. More... | |
GeoID_t & | ID () |
cryostat_id_iterator_base () | |
Default constructor; effect not defined: assign to it before using! More... | |
cryostat_id_iterator_base (geo::GeometryCore const *geom) | |
Constructor: points to begin. More... | |
cryostat_id_iterator_base (geo::GeometryCore const *geom, GeoID_t const &start_from) | |
Constructor: points to the specified cryostat. More... | |
cryostat_id_iterator_base (geo::GeometryCore const *geom, BeginPos_t const) | |
Constructor: points to begin. More... | |
cryostat_id_iterator_base (geo::GeometryCore const *geom, EndPos_t) | |
Constructor: points to end. More... | |
template<typename OTHERID > | |
bool | operator== (cryostat_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to the same cryostat. More... | |
template<typename OTHERID > | |
bool | operator!= (cryostat_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to different cryostats. More... | |
reference | operator* () const |
Returns the ID the iterator points to. More... | |
pointer | operator-> () const |
Returns a pointer to the ID the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment: returns this iterator pointing to the next cryostat. More... | |
iterator | operator++ (int) |
Postfix increment: returns the current iterator, then increments it. More... | |
operator bool () const | |
Returns whether the iterator is pointing to a valid cryostat. More... | |
ElementPtr_t | get () const |
Returns a pointer to cryostat, or nullptr if invalid. More... | |
Protected Member Functions inherited from geo::details::geometry_iterator_base | |
geo::GeometryCore const * | geometry () const |
Returns a pointer to the geometry. More... | |
geometry_iterator_base () | |
Default constructor; do not use a default-constructed iterator as-is! More... | |
geometry_iterator_base (geo::GeometryCore const *geom) | |
Constructor: associates with the specified geometry. More... | |
Private Types | |
using | upper_iterator = plane_id_iterator_base< GEOID > |
Private Member Functions | |
void | set_local_limits () |
Sets limit to the past-the-end wire number of current plane. More... | |
LocalID_t & | localID () |
Returns the type of ID we act on (non-const version) More... | |
ID_t & | local_index () |
Returns the index (part if the ID) this iterator runs on (non-const) More... | |
Private Attributes | |
ID_t | limit = LocalID_t::InvalidID |
maximum number of wires in the current plane More... | |
Base forward iterator browsing all wire IDs in the detector.
GEOID | ID type to be used |
This iterator requires that GEOID is derived from geo::WireID. Note that no polymorphic behaviour is required, or expected, from GEOID.
This iterator is designed to carry on, untouched, anything else that the GEOID type defines beyond the required WireID data.
Currently, backward iterations are not supported.
Definition at line 587 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::difference_type = std::ptrdiff_t |
Definition at line 617 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::ElementPtr_t = geo::WireGeo const* |
Definition at line 594 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::GeoID_t = typename upper_iterator::GeoID_t |
Definition at line 595 of file GeometryCore.h.
|
protected |
specific type for wire ID
Definition at line 679 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::iterator = wire_id_iterator_base<GeoID_t> |
type of this iterator
Definition at line 602 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::iterator_category = std::input_iterator_tag |
Definition at line 621 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::LocalID_t = geo::WireID |
type of the ID we change
Definition at line 597 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::pointer = value_type const* |
Definition at line 620 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::reference = value_type const& |
Definition at line 619 of file GeometryCore.h.
|
private |
Definition at line 591 of file GeometryCore.h.
using geo::details::wire_id_iterator_base< GEOID >::value_type = LocalID_t |
Definition at line 618 of file GeometryCore.h.
|
inline |
Default constructor; effect not defined: assign to it before using!
Definition at line 626 of file GeometryCore.h.
|
inline |
Constructor: points to begin.
Definition at line 629 of file GeometryCore.h.
|
inline |
Constructor: points to the specified wire.
Definition at line 634 of file GeometryCore.h.
|
inline |
Constructor: points to begin.
Definition at line 639 of file GeometryCore.h.
|
inline |
Constructor: points to end.
Definition at line 644 of file GeometryCore.h.
|
inlineprotected |
Constructor: position undefined (meaning undefined local limits too)
Definition at line 682 of file GeometryCore.h.
|
inline |
Returns a pointer to wire, or nullptr if invalid.
Definition at line 5952 of file GeometryCore.h.
|
inlineprotected |
Returns the index (part if the ID) this iterator runs on.
Definition at line 698 of file GeometryCore.h.
|
inlineprivate |
Returns the index (part if the ID) this iterator runs on (non-const)
Definition at line 712 of file GeometryCore.h.
|
inlineprotected |
Returns the type of ID we act on.
Definition at line 689 of file GeometryCore.h.
|
inlineprivate |
Returns the type of ID we act on (non-const version)
Definition at line 709 of file GeometryCore.h.
|
inlineprotected |
Skips to the next wire.
Definition at line 5963 of file GeometryCore.h.
|
inline |
Returns whether the iterator is pointing to a valid wire.
Definition at line 5946 of file GeometryCore.h.
|
inline |
Returns true if the two iterators point to different wires.
Definition at line 656 of file GeometryCore.h.
|
inline |
Returns the WireID the iterator points to.
Definition at line 660 of file GeometryCore.h.
|
inline |
Prefix increment: returns this iterator pointing to the next wire.
Definition at line 666 of file GeometryCore.h.
|
inline |
Postfix increment: returns the current iterator, then increments it.
Definition at line 669 of file GeometryCore.h.
|
inline |
Returns the WireID the iterator points to.
Definition at line 663 of file GeometryCore.h.
|
inline |
Returns true if the two iterators point to the same wire.
Definition at line 651 of file GeometryCore.h.
|
inlineprivate |
Sets limit to the past-the-end wire number of current plane.
Definition at line 5957 of file GeometryCore.h.
|
private |
maximum number of wires in the current plane
Definition at line 703 of file GeometryCore.h.