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

Access the description of detector geometry. More...

#include "larcorealg/Geometry/GeoObjectSorter.h"
#include "larcorealg/Geometry/ChannelMapAlg.h"
#include "larcorealg/Geometry/GeometryData.h"
#include "larcorealg/Geometry/CryostatGeo.h"
#include "larcorealg/Geometry/TPCGeo.h"
#include "larcorealg/Geometry/PlaneGeo.h"
#include "larcorealg/Geometry/WireGeo.h"
#include "larcorealg/Geometry/OpDetGeo.h"
#include "larcorealg/Geometry/AuxDetGeo.h"
#include "larcorealg/Geometry/AuxDetSensitiveGeo.h"
#include "larcorealg/Geometry/BoxBoundedGeo.h"
#include "larcorealg/Geometry/GeometryBuilder.h"
#include "larcorealg/Geometry/ReadoutDataContainers.h"
#include "larcorealg/Geometry/GeometryDataContainers.h"
#include "larcorealg/Geometry/geo_vectors_utils.h"
#include "larcorealg/CoreUtils/RealComparisons.h"
#include "larcorealg/CoreUtils/span.h"
#include "larcoreobj/SimpleTypesAndConstants/readout_types.h"
#include "larcoreobj/SimpleTypesAndConstants/geo_vectors.h"
#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
#include "larcoreobj/SimpleTypesAndConstants/RawTypes.h"
#include "fhiclcpp/ParameterSet.h"
#include "TVector3.h"
#include <cstddef>
#include <string>
#include <vector>
#include <set>
#include <memory>
#include <iterator>
#include <type_traits>

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::IteratorBox< Iter, BeginFunc, EndFunc >
 
class  geo::LocalIteratorBox< Iter, GeoID, BeginFunc, EndFunc >
 
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
 Verifies that the geometry check information is available.
 
 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 GEOIT >
std::enable_if_t
< std::is_base_of_v
< geometry_iterator_base,
GEOIT >, std::ostream & > 
geo::details::operator<< (std::ostream &out, GEOIT const &it)
 Stream output for all geometry ID iterator types: prints the pointed 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 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 }

Definition in file GeometryCore.h.