LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
GeometryCore.h File Reference

Access the description of detector geometry. More...

Go to the source code of this file.

Classes

class  geo::details::geometry_iterator_types
 Base class for geometry iterators, containing some type definitions. More...
 
struct  geo::details::geometry_iterator_types::BeginPos_t
 Structures to distinguish the constructors. More...
 
struct  geo::details::geometry_iterator_types::EndPos_t
 
struct  geo::details::geometry_iterator_types::UndefinedPos_t
 
class  geo::details::geometry_iterator_base
 Base class for geometry iterators (note: this is not an iterator) More...
 
class  geo::details::cryostat_id_iterator_base< GEOID >
 Base forward iterator browsing all cryostat IDs in the detector. More...
 
class  geo::details::TPC_id_iterator_base< GEOID >
 Base forward iterator browsing all TPC IDs in the detector. More...
 
class  geo::details::plane_id_iterator_base< GEOID >
 Base forward iterator browsing all plane IDs in the detector. More...
 
class  geo::details::wire_id_iterator_base< GEOID >
 Base forward iterator browsing all wire IDs in the detector. More...
 
class  geo::details::geometry_element_iterator< GEOIDITER >
 Forward iterator browsing all geometry elements in the detector. More...
 
class  geo::details::geometry_element_iterator< GEOIDITER >
 Forward iterator browsing all geometry elements in the detector. More...
 
class  geo::details::TPCset_id_iterator_base< GEOID >
 Base forward iterator browsing all TPC set IDs in the detector. More...
 
class  geo::details::ROP_id_iterator_base< GEOID >
 Base forward iterator browsing all readout plane IDs in the detector. More...
 
class  geo::IteratorBoxBase< Iter >
 
class  geo::IteratorBox< Iter, BeginFunc, EndFunc >
 
class  geo::LocalIteratorBox< Iter, GeoID, BeginFunc, EndFunc >
 
struct  geo::GeometryData_t
 Data in the geometry description. More...
 
class  geo::GeometryCore
 Description of geometry of one entire detector. More...
 
struct  geo::GeometryCore::Segment< Point >
 Simple class with two points (a pair with aliases). More...
 
class  geo::ROOTGeoNodeForwardIterator
 Iterator to navigate through all the nodes. More...
 
struct  geo::ROOTGeoNodeForwardIterator::NodeInfo_t
 

Namespaces

 geo
 Namespace collecting geometry-related classes utilities.
 
 geo::details
 
 geo::iterators
 

Typedefs

using geo::iterators::BeginPos_t = details::geometry_iterator_types::BeginPos_t
 
using geo::iterators::EndPos_t = details::geometry_iterator_types::EndPos_t
 
using geo::iterators::UndefinedPos_t = details::geometry_iterator_types::UndefinedPos_t
 
using geo::cryostat_id_iterator = details::cryostat_id_iterator_base< geo::CryostatID >
 Forward iterator browsing all cryostats in the detector. More...
 
using geo::cryostat_iterator = details::geometry_element_iterator< cryostat_id_iterator >
 Forward iterator browsing all cryostats in the detector. More...
 
using geo::TPC_id_iterator = details::TPC_id_iterator_base< geo::TPCID >
 Forward iterator browsing all TPCs in the detector. More...
 
using geo::TPC_iterator = details::geometry_element_iterator< TPC_id_iterator >
 Forward iterator browsing all TPCs in the detector. More...
 
using geo::plane_id_iterator = details::plane_id_iterator_base< geo::PlaneID >
 Forward iterator browsing all planes in the detector. More...
 
using geo::plane_iterator = details::geometry_element_iterator< plane_id_iterator >
 Forward iterator browsing all planes in the detector. More...
 
using geo::wire_id_iterator = details::wire_id_iterator_base< geo::WireID >
 Forward iterator browsing all wires in the detector. More...
 
using geo::wire_iterator = details::geometry_element_iterator< wire_id_iterator >
 Forward iterator browsing all wires in the detector. More...
 
using geo::TPCset_id_iterator = details::TPCset_id_iterator_base< readout::TPCsetID >
 Forward iterator browsing all TPC sets in the detector. More...
 
using geo::ROP_id_iterator = details::ROP_id_iterator_base< readout::ROPID >
 Forward iterator browsing all readout planes in the detector. More...
 

Functions

template<typename GEOIDITER >
bool geo::details::operator== (geometry_element_iterator< GEOIDITER > const &iter, GEOIDITER const &id_iter)
 Comparison operator: geometry ID and element point to the same ID. More...
 
template<typename GEOIDITER >
bool geo::details::operator== (GEOIDITER const &id_iter, geometry_element_iterator< GEOIDITER > const &iter)
 Comparison operator: geometry ID and element point to the same ID. More...
 
template<typename GEOIDITER >
bool geo::details::operator!= (geometry_element_iterator< GEOIDITER > const &iter, GEOIDITER const &id_iter)
 Comparison operator: geometry ID and element point to different IDs. More...
 
template<typename GEOIDITER >
bool geo::details::operator!= (GEOIDITER const &id_iter, geometry_element_iterator< GEOIDITER > const &iter)
 Comparison operator: geometry ID and element point to different IDs. More...
 
template<>
geo::TPCID geo::GeometryCore::GetBeginID< geo::TPCID, geo::CryostatID > (geo::CryostatID const &id) const
 
template<>
geo::TPCID geo::GeometryCore::GetEndID< geo::TPCID, geo::CryostatID > (geo::CryostatID const &id) const
 
template<>
geo::PlaneID geo::GeometryCore::GetBeginID< geo::PlaneID, geo::CryostatID > (geo::CryostatID const &id) const
 
template<>
geo::PlaneID geo::GeometryCore::GetEndID< geo::PlaneID, geo::CryostatID > (geo::CryostatID const &id) const
 

Variables

constexpr auto geo::iterators::begin_pos = details::geometry_iterator_types::begin_pos
 
constexpr auto geo::iterators::end_pos = details::geometry_iterator_types::end_pos
 
constexpr auto geo::iterators::undefined_pos = details::geometry_iterator_types::undefined_pos
 

Detailed Description

Access the description of detector geometry.

Author
brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v
See also
larcorealg/Geometry/GeometryCore.cxx

Structure of the header:

namespace geo {

  // forward class declarations

  namespace details {

    // geometry iterator base class

  }

  // geometry iterators declaration
  //  - cryostat_id_iterator
  //  - TPC_id_iterator
  //  - plane_id_iterator
  //  - wire_id_iterator
  //  - TPCset_id_iterator
  //  - ROP_id_iterator

  // GeometryData_t definition (part of GeometryCore)

  // GeometryCore declaration

}

Revised selig.nosp@m.man@.nosp@m.nevis.nosp@m..col.nosp@m.umbia.nosp@m..edu 29-Jan-2009 Revise the class to make it into more of a general detector interface Revised petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov 27-Apr-2015 Factorization into a framework-independent GeometryCore.h and a art framework interface Revised petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov 30-Apr-2015 Redesign of the iterators Revised petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov 28-Jun-2015 Added interface for readout mapping

Definition in file GeometryCore.h.