All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions | Variables
geo_types.h File Reference

Definition of data types for geometry description. More...

#include <climits>
#include <cmath>
#include <string>
#include <sstream>
#include <iosfwd>
#include <limits>

Go to the source code of this file.

Classes

struct  geo::details::AbsIDtypeStruct< ID, Index, typename >
 
struct  geo::details::RelIDtypeStruct< ID, UpIndex >
 
struct  geo::ElementLevel
 
struct  geo::CryostatID
 The data type to uniquely identify a cryostat. More...
 
struct  geo::OpDetID
 The data type to uniquely identify a optical detector. More...
 
struct  geo::TPCID
 The data type to uniquely identify a TPC. More...
 
struct  geo::PlaneID
 The data type to uniquely identify a Plane. More...
 
struct  geo::WireID
 
struct  geo::WireIDIntersection
 
struct  geo::details::AbsIDtypeStruct< ID, Index, typename >
 
struct  geo::details::AbsIDtypeStruct< ID, Index, std::enable_if_t<(Index==ID::Level)> >
 
struct  geo::details::RelIDtypeStruct< ID, UpIndex >
 
struct  geo::details::RelIDtypeStruct< ID, 0U >
 

Namespaces

 geo
 Verifies that the geometry check information is available.
 
 geo::details
 

Typedefs

template<std::size_t Index, typename ID >
using geo::details::AbsIDtype = typename AbsIDtypeStruct< ID, Index >::type
 
template<std::size_t UpIndex, typename ID >
using geo::details::RelIDtype = typename RelIDtypeStruct< ID, UpIndex >::type
 

Functions

template<typename T >
std::string geo::details::writeToString (T const &value)
 Write the argument into a string. More...
 
template<typename ID >
constexpr std::size_t geo::details::geoElementLevel ()
 
template<std::size_t Index, typename ID >
constexpr auto geo::details::getAbsIDindex (ID const &id)
 
template<std::size_t Index, typename ID >
auto & geo::details::getAbsIDindex (ID &id)
 
template<std::size_t UpIndex, typename ID >
auto geo::details::getRelIDindex (ID const &id)
 
std::string geo::SignalTypeName (geo::SigType_t sigType)
 Returns the name of the specified signal type. More...
 
Geometry element IDs
std::ostream & geo::operator<< (std::ostream &out, CryostatID const &cid)
 Generic output of CryostatID to stream. More...
 
std::ostream & geo::operator<< (std::ostream &out, OpDetID const &oid)
 Generic output of OpDetID to stream. More...
 
std::ostream & geo::operator<< (std::ostream &out, TPCID const &tid)
 Generic output of TPCID to stream. More...
 
std::ostream & geo::operator<< (std::ostream &out, PlaneID const &pid)
 Generic output of PlaneID to stream. More...
 
std::ostream & geo::operator<< (std::ostream &out, WireID const &wid)
 Generic output of WireID to stream. More...
 
ID comparison operators

The result of comparison with invalid IDs is undefined.

constexpr bool geo::operator== (CryostatID const &a, CryostatID const &b)
 Comparison: the IDs point to the same cryostat (validity is ignored) More...
 
constexpr bool geo::operator!= (CryostatID const &a, CryostatID const &b)
 Comparison: the IDs point to different cryostats (validity is ignored) More...
 
constexpr bool geo::operator< (CryostatID const &a, CryostatID const &b)
 Order cryostats with increasing ID. More...
 
constexpr bool geo::operator== (OpDetID const &a, OpDetID const &b)
 Comparison: the IDs point to same optical detector (validity is ignored) More...
 
constexpr bool geo::operator!= (OpDetID const &a, OpDetID const &b)
 Comparison: IDs point to different optical detectors (validity is ignored) More...
 
constexpr bool geo::operator< (OpDetID const &a, OpDetID const &b)
 Order OpDetID in increasing Cryo, then OpDet. More...
 
constexpr bool geo::operator== (TPCID const &a, TPCID const &b)
 Comparison: the IDs point to the same TPC (validity is ignored) More...
 
constexpr bool geo::operator!= (TPCID const &a, TPCID const &b)
 Comparison: the IDs point to different TPCs (validity is ignored) More...
 
constexpr bool geo::operator< (TPCID const &a, TPCID const &b)
 Order TPCID in increasing Cryo, then TPC. More...
 
constexpr bool geo::operator== (PlaneID const &a, PlaneID const &b)
 Comparison: the IDs point to the same plane (validity is ignored) More...
 
constexpr bool geo::operator!= (PlaneID const &a, PlaneID const &b)
 Comparison: the IDs point to different planes (validity is ignored) More...
 
constexpr bool geo::operator< (PlaneID const &a, PlaneID const &b)
 Order PlaneID in increasing TPC, then plane. More...
 
constexpr bool geo::operator== (WireID const &a, WireID const &b)
 Comparison: the IDs point to the same wire (validity is ignored) More...
 
constexpr bool geo::operator!= (WireID const &a, WireID const &b)
 Comparison: the IDs point to different wires (validity is ignored) More...
 
constexpr bool geo::operator< (WireID const &a, WireID const &b)
 

Variables

template<typename ID >
constexpr bool geo::details::isTopGeoElementID = std::is_void_v<typename ID::ParentID_t>
 Whether ID represents an element on top of the hierarchy. More...
 

Geometry enumerators

enum  geo::coordinates { geo::kXCoord, geo::kYCoord, geo::kZCoord }
 
enum  geo::_plane_proj {
  geo::kU, geo::kV, geo::kW, geo::kZ =kW,
  geo::kY, geo::kX, geo::k3D, geo::kUnknown
}
 Enumerate the possible plane projections. More...
 
enum  geo::_plane_orient { geo::kHorizontal, geo::kVertical }
 
enum  geo::_plane_sigtype { geo::kInduction, geo::kCollection, geo::kMysteryType }
 
enum  geo::driftdir {
  geo::kUnknownDrift, geo::kPos, geo::kNeg, geo::kPosX = kPos,
  geo::kNegX = kNeg
}
 Drift direction: positive or negative. More...
 
typedef enum geo::coordinates geo::Coord_t
 
typedef enum geo::_plane_proj geo::View_t
 Enumerate the possible plane projections. More...
 
typedef enum geo::_plane_orient geo::Orient_t
 
typedef enum geo::_plane_sigtype geo::SigType_t
 
typedef enum geo::driftdir geo::DriftDirection_t
 Drift direction: positive or negative. More...
 

Detailed Description

Definition of data types for geometry description.

Author
Brian Rebel (brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v)
See Also
larcoreobj/SimpleTypesAndConstants/geo_types.cxx

This library depends only on standard C++.

Definition in file geo_types.h.