Public Types | Public Member Functions | Private Types | List of all members
geo::TPCIDmapper< Index > Class Template Reference

Mapping for TPC identifiers. More...

#include <GeometryIDmapper.h>

Inheritance diagram for geo::TPCIDmapper< Index >:
geo::GeoIDmapper< geo::TPCID, Index >

Public Types

using ID_t = typename BaseMapper_t::ID_t
 
using index_type = typename BaseMapper_t::index_type
 
- Public Types inherited from geo::GeoIDmapper< geo::TPCID, Index >
using ID_t = geo::TPCID
 Type used as ID for this mapping. More...
 
using index_type = Index
 Type of flat index. More...
 

Public Member Functions

 TPCIDmapper (unsigned int nCryo, unsigned int nTPCs)
 Prepares the mapping with the specified sizes. More...
 
Mapping modification
void resize (unsigned int nCryo, unsigned int nTPCs)
 Prepares the mapping for the specified sizes. More...
 
Mapping status query
bool hasCryostat (geo::CryostatID const &cryoid) const
 Returns whether this mapping covers the specified cryostat. More...
 
bool hasTPC (geo::TPCID const &tpcid) const
 Returns whether this mapping covers the specified TPC. More...
 
- Public Member Functions inherited from geo::GeoIDmapper< geo::TPCID, Index >
 GeoIDmapper ()
 Default constructor: all dimensions empty. More...
 
 GeoIDmapper (std::initializer_list< unsigned int > dims)
 Prepares the indexer. More...
 
index_type index (ID_t const &id) const
 Returns the linear index corresponding to the specified ID. More...
 
ID_t ID (index_type const index) const
 Returns the ID corresponding to the specified linear index. More...
 
index_type operator() (ID_t const &id) const
 Returns the linear index corresponding to the specified ID. More...
 
ID_t operator() (index_type const index) const
 Returns the ID corresponding to the specified linear index. More...
 
void resize (std::initializer_list< unsigned int > dims)
 Resizes the mapping to accommodate the specified dimension sizes. More...
 
void resizeAs (geo::GeoIDmapper< OIDType, OIndex > const &other)
 Resizes the mapping to reflect the one from another mapping. More...
 
void clear ()
 Sets all dimension sizes to 0. More...
 
index_type size () const
 Returns the number of elements in the mapping. More...
 
bool empty () const
 Returns whether the mapping has no elements (false by assumptions). More...
 
unsigned int dimSize () const
 Dimensions of the Level dimension of this mapping. More...
 
bool hasElement (GeoID const &id) const
 Returns whether this mapping 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...
 

Private Types

using BaseMapper_t = geo::GeoIDmapper< geo::TPCID, Index >
 Base class. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from geo::GeoIDmapper< geo::TPCID, Index >
static constexpr unsigned int dimensions ()
 Dimensions of the ID of this mapping. More...
 

Detailed Description

template<typename Index>
class geo::TPCIDmapper< Index >

Mapping for TPC identifiers.


Template Parameters
Index(default: std::size_t) type of flat index
See also
geo::GeoIDmapper

A customized version of geo::GeoIDmapper offering TPC ID-specific interface.

Definition at line 32 of file GeometryIDmapper.h.

Member Typedef Documentation

template<typename Index>
using geo::TPCIDmapper< Index >::BaseMapper_t = geo::GeoIDmapper<geo::TPCID, Index>
private

Base class.

Definition at line 265 of file GeometryIDmapper.h.

template<typename Index>
using geo::TPCIDmapper< Index >::ID_t = typename BaseMapper_t::ID_t

Definition at line 270 of file GeometryIDmapper.h.

template<typename Index>
using geo::TPCIDmapper< Index >::index_type = typename BaseMapper_t::index_type

Definition at line 271 of file GeometryIDmapper.h.

Constructor & Destructor Documentation

template<typename Index>
geo::TPCIDmapper< Index >::TPCIDmapper ( unsigned int  nCryo,
unsigned int  nTPCs 
)
inline

Prepares the mapping with the specified sizes.

Parameters
nCryonumber of cryostats
nTPCsnumber of TPCs per cryostat

The mapping is sized to map nCryo cryostats, each with nTPCs TPCs.

Definition at line 284 of file GeometryIDmapper.h.

285  : BaseMapper_t({ nCryo, nTPCs })
286  {}
geo::GeoIDmapper< geo::TPCID, Index > BaseMapper_t
Base class.

Member Function Documentation

template<typename Index>
bool geo::TPCIDmapper< Index >::hasCryostat ( geo::CryostatID const &  cryoid) const
inline

Returns whether this mapping covers the specified cryostat.

Definition at line 315 of file GeometryIDmapper.h.

316  { return BaseMapper_t::hasElement(cryoid); }
bool hasElement(GeoID const &id) const
Returns whether this mapping hosts data for the specified ID.
template<typename Index>
bool geo::TPCIDmapper< Index >::hasTPC ( geo::TPCID const &  tpcid) const
inline

Returns whether this mapping covers the specified TPC.

Definition at line 319 of file GeometryIDmapper.h.

320  { return BaseMapper_t::hasElement(tpcid); }
bool hasElement(GeoID const &id) const
Returns whether this mapping hosts data for the specified ID.
template<typename Index>
void geo::TPCIDmapper< Index >::resize ( unsigned int  nCryo,
unsigned int  nTPCs 
)
inline

Prepares the mapping for the specified sizes.

Parameters
nCryonumber of cryostats
nTPCsnumber of TPCs
See also
resizeAs()

The mapping is sized to map nCryo cryostats, each with nTPCs TPCs.

Definition at line 303 of file GeometryIDmapper.h.

304  { BaseMapper_t::resize({ nCryo, nTPCs }); }
void resize(std::initializer_list< unsigned int > dims)
Resizes the mapping to accommodate the specified dimension sizes.

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