Base forward iterator browsing all TPC set IDs in the detector. More...
#include <GeometryCore.h>
Public Types | |
using | GeoID_t = typename upper_iterator::GeoID_t |
using | LocalID_t = readout::TPCsetID |
Type of the ID we change. More... | |
using | iterator = TPCset_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 | |
TPCset_id_iterator_base () | |
Default constructor; effect not defined: assign to it before using! More... | |
TPCset_id_iterator_base (geo::GeometryCore const *geom) | |
Constructor: points to begin. More... | |
TPCset_id_iterator_base (geo::GeometryCore const *geom, GeoID_t const &start_from) | |
Constructor: points to the specified TPC set. More... | |
TPCset_id_iterator_base (geo::GeometryCore const *geom, BeginPos_t const) | |
Constructor: points to begin. More... | |
TPCset_id_iterator_base (geo::GeometryCore const *geom, EndPos_t) | |
Constructor: points to end. More... | |
template<typename OTHERID > | |
bool | operator== (TPCset_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to the same TPC set. More... | |
template<typename OTHERID > | |
bool | operator!= (TPCset_id_iterator_base< OTHERID > const &as) const |
Returns true if the two iterators point to different TPC sets. More... | |
reference | operator* () const |
Returns the TPCsetID the iterator points to. More... | |
pointer | operator-> () const |
Returns the TPCsetID the iterator points to. More... | |
iterator & | operator++ () |
Prefix increment: returns this iterator pointing to the next TPC set. 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 set. More... | |
Protected Types | |
using | ID_t = typename LocalID_t::TPCsetID_t |
Specific type for TPC set ID. More... | |
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 | |
TPCset_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 set. 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::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 = cryostat_id_iterator_base< GEOID > |
Private Member Functions | |
void | set_local_limits () |
Sets limit to the past-the-end TPC set number of current croystat. 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... | |
upper_iterator::ElementPtr_t | get () const =delete |
Private Attributes | |
ID_t | limit = LocalID_t::InvalidID |
maximum number of TPC sets in the current cryostat. More... | |
Base forward iterator browsing all TPC set IDs in the detector.
GEOID | ID type to be used |
This iterator requires that GEOID is derived from geo::TPCSetID. 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 TPCsetID data.
Currently, backward iterations are not supported.
Definition at line 933 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::difference_type = std::ptrdiff_t |
Definition at line 962 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::GeoID_t = typename upper_iterator::GeoID_t |
Definition at line 940 of file GeometryCore.h.
|
protected |
Specific type for TPC set ID.
Definition at line 1023 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::iterator = TPCset_id_iterator_base<GeoID_t> |
Type of this iterator.
Definition at line 947 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::iterator_category = std::input_iterator_tag |
Definition at line 966 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::LocalID_t = readout::TPCsetID |
Type of the ID we change.
Definition at line 942 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::pointer = value_type const* |
Definition at line 965 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::reference = value_type const& |
Definition at line 964 of file GeometryCore.h.
|
private |
Definition at line 937 of file GeometryCore.h.
using geo::details::TPCset_id_iterator_base< GEOID >::value_type = LocalID_t |
Definition at line 963 of file GeometryCore.h.
|
inline |
Default constructor; effect not defined: assign to it before using!
Definition at line 971 of file GeometryCore.h.
|
inline |
Constructor: points to begin.
Definition at line 974 of file GeometryCore.h.
|
inline |
Constructor: points to the specified TPC set.
Definition at line 980 of file GeometryCore.h.
|
inline |
Constructor: points to begin.
Definition at line 985 of file GeometryCore.h.
|
inline |
Constructor: points to end.
Definition at line 990 of file GeometryCore.h.
|
inlineprotected |
Constructor: position undefined (meaning undefined local limits too).
Definition at line 1026 of file GeometryCore.h.
|
privatedelete |
|
inlineprotected |
Returns the index (part if the ID) this iterator runs on.
Definition at line 1042 of file GeometryCore.h.
|
inlineprivate |
Returns the index (part if the ID) this iterator runs on (non-const).
Definition at line 1056 of file GeometryCore.h.
|
inlineprotected |
Returns the type of ID we act on.
Definition at line 1033 of file GeometryCore.h.
|
inlineprivate |
Returns the type of ID we act on (non-const version).
Definition at line 1053 of file GeometryCore.h.
|
inlineprotected |
Skips to the next TPC set.
Definition at line 6015 of file GeometryCore.h.
|
inline |
Returns whether the iterator is pointing to a valid TPC set.
Definition at line 6002 of file GeometryCore.h.
|
inline |
Returns true if the two iterators point to different TPC sets.
Definition at line 1002 of file GeometryCore.h.
|
inline |
Returns the TPCsetID the iterator points to.
Definition at line 1006 of file GeometryCore.h.
|
inline |
Prefix increment: returns this iterator pointing to the next TPC set.
Definition at line 1012 of file GeometryCore.h.
|
inline |
Postfix increment: returns the current iterator, then increments it.
Definition at line 1015 of file GeometryCore.h.
|
inline |
Returns the TPCsetID the iterator points to.
Definition at line 1009 of file GeometryCore.h.
|
inline |
Returns true if the two iterators point to the same TPC set.
Definition at line 997 of file GeometryCore.h.
|
inlineprivate |
Sets limit to the past-the-end TPC set number of current croystat.
Definition at line 6009 of file GeometryCore.h.
|
private |
maximum number of TPC sets in the current cryostat.
Definition at line 1047 of file GeometryCore.h.