Container with one element per geometry TPC. More...
#include <GeometryDataContainers.h>
Public Member Functions | |
TPCDataContainer ()=default | |
Default constructor: empty container. More... | |
TPCDataContainer (unsigned int nCryo, unsigned int nTPCs) | |
Prepares the container with default-constructed data. More... | |
TPCDataContainer (unsigned int nCryo, unsigned int nTPCs, value_type const &defValue) | |
Prepares the container with copies of the specified default value. More... | |
Container modification | |
void | resize (unsigned int nCryo, unsigned int nTPCs) |
Prepares the container with default-constructed data. More... | |
void | resize (unsigned int nCryo, unsigned int nTPCs, T const &defValue) |
Prepares the container initializing all its data. More... | |
Container status query | |
bool | hasCryostat (geo::CryostatID const &cryoid) const |
Returns whether this container hosts data for the specified cryostat. More... | |
bool | hasTPC (geo::TPCID const &tpcid) const |
Returns whether this container hosts data for the specified TPC. More... | |
Public Member Functions inherited from geo::GeoIDdataContainer< T, geo::TPCIDmapper<> > | |
GeoIDdataContainer ()=default | |
Default constructor: container has no room at all. More... | |
GeoIDdataContainer (std::initializer_list< unsigned int > dims) | |
Prepares the container with default-constructed data. More... | |
GeoIDdataContainer (std::initializer_list< unsigned int > dims, value_type const &defValue) | |
Prepares the container initializing all its data. More... | |
reference | operator[] (ID_t const &id) |
Returns the element for the specified geometry element. More... | |
const_reference | operator[] (ID_t const &id) const |
Returns the element for the specified geometry element (read-only). More... | |
reference | at (ID_t const &id) |
const_reference | at (ID_t const &id) const |
reference | first () |
Returns the element for the first ID (unchecked). More... | |
const_reference | first () const |
Returns the element for the first ID (unchecked). More... | |
reference | last () |
Returns the element for the last ID (unchecked). More... | |
const_reference | last () const |
Returns the element for the last ID (unchecked). More... | |
iterator | begin () |
Returns an iterator to the beginning of the data. More... | |
const_iterator | begin () const |
Returns a constant iterator to the beginning of the data. More... | |
iterator | end () |
Returns an iterator to past the end of the data. More... | |
const_iterator | end () const |
Returns a constant iterator to past the end of the data. More... | |
const_iterator | cbegin () const |
Returns a constant iterator to the beginning of the data. More... | |
const_iterator | cend () const |
Returns a constant iterator to past the end of the data. More... | |
item_iterator | item_begin () |
Returns an item iterator to the beginning of the data. More... | |
item_const_iterator | item_begin () const |
Returns a item constant iterator to the beginning of the data. More... | |
item_iterator | item_end () |
Returns an item iterator to past the end of the data. More... | |
item_const_iterator | item_end () const |
Returns a item constant iterator to past the end of the data. More... | |
item_const_iterator | item_cbegin () const |
Returns a item constant iterator to the beginning of the data. More... | |
item_const_iterator | item_cend () const |
Returns a item constant iterator to past the end of the data. More... | |
auto | items () |
Returns an object suitable for a range-for loop with item_iterator . More... | |
auto | items () const |
Returns an object suitable for a range-for loop with item_const_iterator . More... | |
void | fill (value_type value) |
Sets all elements to the specified value (copied). More... | |
void | reset () |
Sets all the elements to a default-constructed value_type . More... | |
Op | apply (Op &&op) |
Applies an operation on all elements. More... | |
decltype(auto) | apply (Op &&op) const |
Applies an operation on all elements. More... | |
void | resize (std::initializer_list< unsigned int > dims) |
Prepares the container with default-constructed data. More... | |
void | resize (std::initializer_list< unsigned int > dims, value_type const &defValue) |
Prepares the container initializing all its data. More... | |
void | resizeAs (geo::GeoIDdataContainer< OT, Mapper_t > const &other) |
Prepares the container with default-constructed data. More... | |
void | resizeAs (geo::GeoIDdataContainer< OT, Mapper_t > const &other, value_type const &defValue) |
Prepares the container initializing all its data. More... | |
void | clear () |
Makes the container empty, with no usable storage space. More... | |
size_type | size () const |
Returns the number of elements in the container. More... | |
size_type | capacity () const |
Returns the number of elements the container has memory for. More... | |
bool | empty () const |
Returns whether the container has no elements (false by assumptions). More... | |
unsigned int | dimSize () const |
Dimensions of the Level dimension of this container. More... | |
bool | hasElement (GeoID const &id) const |
Returns whether this container hosts data for the specified ID. More... | |
GeoID | firstID () const |
Returns the ID of the first element with GeoID type. More... | |
GeoID | lastID () const |
Returns the ID of the last covered element with GeoID type. More... | |
Mapper_t const & | mapper () const |
Returns the mapper object used to convert ID's and container positions. More... | |
Private Types | |
using | BaseContainer_t = geo::GeoIDdataContainer< T, geo::TPCIDmapper<>> |
Additional Inherited Members | |
Static Public Member Functions inherited from geo::GeoIDdataContainer< T, geo::TPCIDmapper<> > | |
static constexpr unsigned int | dimensions () |
Dimensions of the ID of this container. More... | |
Container with one element per geometry TPC.
T | type of the contained datum |
geo::GeometryCore::makeTPCData
The container is of fixed size and can't be neither resized nor freed before destruction.
This example creates a "map" of tracks starting on each TPC:
The following assumptions should be considered unchecked, and the behavior when they are violated undefined (but note that in debug mode some of them might be actually checked):
Definition at line 39 of file GeometryDataContainers.h.
|
private |
Definition at line 553 of file GeometryDataContainers.h.
using geo::TPCDataContainer< T >::value_type = typename BaseContainer_t::value_type |
Definition at line 557 of file GeometryDataContainers.h.
|
default |
|
inline |
Prepares the container with default-constructed data.
nCryo | number of cryostats |
nTPCs | number of TPCs |
The container is sized to host data for nCryo
cryostats, each with nTPCs
TPCs. Each element in the container is default-constructed.
Definition at line 577 of file GeometryDataContainers.h.
|
inline |
Prepares the container with copies of the specified default value.
nCryo | number of cryostats |
nTPCs | number of TPCs |
defValue | the value to be replicated |
The container is sized to host data for nCryo
cryostats, each with nTPCs
TPCs. Each element in the container is a copy of defValue.
Definition at line 598 of file GeometryDataContainers.h.
|
inline |
Returns whether this container hosts data for the specified cryostat.
Definition at line 652 of file GeometryDataContainers.h.
|
inline |
Returns whether this container hosts data for the specified TPC.
Definition at line 656 of file GeometryDataContainers.h.
|
inline |
Prepares the container with default-constructed data.
nCryo | number of cryostats |
nTPCs | number of TPCs |
The container is sized to host data for nCryo
cryostats, each with nTPCs
TPCs. Each element in the container is default-constructed.
Existing data is not touched, but it may be rearranged in a non-straightforward way.
Definition at line 619 of file GeometryDataContainers.h.
|
inline |
Prepares the container initializing all its data.
nCryo | number of cryostats |
nTPCs | number of TPCs |
defValue | the value copied to fill all entries in the container |
The container is sized to host data for nCryo
cryostats, each with nTPCs
TPCs. Each element in the container is a copy of defValue
.
Existing data is not touched, but it may be rearranged in a non-straightforward way.
Definition at line 640 of file GeometryDataContainers.h.