![]() |
LArSoft
v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
|
The geometry of one entire detector, as served by art. More...
#include "Geometry.h"
Public Types | |
using | provider_type = GeometryCore |
type of service provider More... | |
using | CryostatList_t = std::vector< CryostatGeo > |
Public Member Functions | |
Geometry (fhicl::ParameterSet const &pset) | |
provider_type const * | provider () const |
Returns a pointer to the geometry service provider. More... | |
sumdata::GeometryConfigurationInfo const & | configurationInfo () const |
Returns the current geometry configuration information. More... | |
double | DefaultWiggle () const |
Returns the tolerance used in looking for positions. More... | |
std::string const & | GDMLFile () const |
Returns the full directory path to the GDML file source. More... | |
std::vector< TGeoNode const * > | FindAllVolumes (std::set< std::string > const &vol_names) const |
Returns all the nodes with volumes with any of the specified names. More... | |
std::vector< std::vector< TGeoNode const * > > | FindAllVolumePaths (std::set< std::string > const &vol_names) const |
Returns paths of all nodes with volumes with the specified names. More... | |
TGeoMaterial const * | Material (Point_t const &point) const |
Returns the material at the specified position. More... | |
template<typename Stream > | |
void | Print (Stream &&out, std::string indent=" ") const |
Prints geometry information with maximum verbosity. More... | |
std::string | Info (std::string indent=" ") const |
Returns a string with complete geometry information. More... | |
bool | HasElement (TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
CryostatGeo const * | PositionToCryostatPtr (Point_t const &point) const |
Returns the cryostat at specified location. More... | |
CryostatID | PositionToCryostatID (Point_t const &point) const |
Returns the ID of the cryostat at specified location. More... | |
bool | HasTPC (TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
TPCGeo const * | PositionToTPCptr (Point_t const &point) const |
Returns the TPC at specified location. More... | |
TPCID | PositionToTPCID (Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
std::string | OpDetGeoName (CryostatID const &cid=details::cryostat_zero) const |
Returns gdml string which gives sensitive opdet name. More... | |
CryostatList_t const & | Cryostats () const noexcept |
Detector information | |
std::string const & | DetectorName () const |
Returns a string with the name of the detector, as configured. More... | |
TGeoVolume const * | WorldVolume () const |
Returns a pointer to the world volume. More... | |
void | WorldBox (double *xlo, double *xhi, double *ylo, double *yhi, double *zlo, double *zhi) const |
Fills the arguments with the boundaries of the world. More... | |
BoxBoundedGeo | WorldBox () const |
Length_t | SurfaceY () const |
The position of the detector respect to earth surface. More... | |
TGeoManager * | ROOTGeoManager () const |
Access to the ROOT geometry description manager. More... | |
std::string const & | GetWorldVolumeName () const |
Return the name of the world volume (needed by Geant4 simulation) More... | |
BoxBoundedGeo | DetectorEnclosureBox (std::string const &name="volDetEnclosure") const |
std::string | VolumeName (Point_t const &point) const |
Returns the name of the deepest volume containing specified point. More... | |
std::string | MaterialName (Point_t const &point) const |
Name of the deepest material containing the point xyz. More... | |
double | TotalMass () const |
Returns the total mass [kg] of the specified volume (default: world). More... | |
double | TotalMass (std::string vol) const |
Returns the total mass [kg] of the specified volume (default: world). More... | |
double | MassBetweenPoints (Point_t const &p1, Point_t const &p2) const |
Returns the column density between two points. More... | |
Cryostat access and information | |
unsigned int | Ncryostats () const |
Returns the number of cryostats in the detector. More... | |
unsigned int | NElements () const |
Returns the number of cryostats in the detector. More... | |
unsigned int | NSiblingElements (CryostatID const &) const |
Returns the number of cryostats in the detector. More... | |
TPC access and information | |
unsigned int | NElements (CryostatID const &cryoid) const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
unsigned int | NSiblingElements (TPCID const &tpcid) const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
unsigned int | MaxTPCs () const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
unsigned int | TotalNTPC () const |
Returns the total number of TPCs in the detector. More... | |
unsigned int | NTPC (CryostatID const &cryoid=details::cryostat_zero) const |
Returns the total number of TPCs in the specified cryostat. More... | |
bool | HasCryostat (CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
bool | HasElement (CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
CryostatGeo const & | Cryostat (CryostatID const &cryoid=details::cryostat_zero) const |
Returns the specified cryostat. More... | |
CryostatGeo const & | GetElement (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
TPCGeo const & | GetElement (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const & | TPC (TPCID const &tpcid=details::tpc_zero) const |
Returns the specified TPC. More... | |
CryostatGeo const * | CryostatPtr (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const * | GetElementPtr (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
TPCGeo const * | GetElementPtr (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const * | TPCPtr (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
CryostatGeo const & | PositionToCryostat (Point_t const &point) const |
Returns the cryostat at specified location. More... | |
TPCID | FindTPCAtPosition (Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
TPCGeo const & | PositionToTPC (Point_t const &point) const |
Returns the TPC at specified location. More... | |
Optical detector geometry access and information | |
There are a number of ways to identify an optical detector or channel:
And they all should be better documented! | |
unsigned int | NOpDets () const |
Number of OpDets in the whole detector. More... | |
OpDetGeo const & | OpDetGeoFromOpDet (unsigned int OpDet) const |
Returns the geo::OpDetGeo object for the given detector number. More... | |
unsigned int | GetClosestOpDet (Point_t const &point) const |
Find the nearest OpChannel to some point. More... | |
Optical readout channels | |
unsigned int | OpDetFromCryo (unsigned int o, unsigned int c) const |
Get unique opdet number from cryo and internal count. More... | |
Private Member Functions | |
Configuration information checks | |
void | FillGeometryConfigurationInfo (fhicl::ParameterSet const &config) |
Fills the service configuration information into fConfInfo . More... | |
Private Attributes | |
sumdata::GeometryConfigurationInfo | fConfInfo |
Summary of service configuration. More... | |
The geometry of one entire detector, as served by art.
This class extends the interface of the geometry service provider, geo::GeometryCore, to the one of an art service.
In addition to the parameters documented in geo::GeometryCore, the following parameters are supported:
geo::GeometryBuilderStandard
) with standard configuration will be used; if specified, currently the standard builder is nevertheless used; this interface can be "toolized", in which case this parameter set will select and configure the chosen tool.Definition at line 42 of file Geometry.h.
|
inherited |
Definition at line 95 of file GeometryCore.h.
type of service provider
Definition at line 44 of file Geometry.h.
|
explicit |
Definition at line 31 of file Geometry.cc.
References FillGeometryConfigurationInfo(), and fhicl::ParameterSet::get().
|
inline |
Returns the current geometry configuration information.
Definition at line 52 of file Geometry.h.
References fConfInfo, and FillGeometryConfigurationInfo().
|
inherited |
Returns the specified cryostat.
cryoid | cryostat ID |
cet::exception | (GeometryCore category) if cryostat not present |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 150 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, and geo::GeometryCore::CryostatPtr().
Referenced by phot::PDFastSimANN::beginJob(), opdet::SimPhotonCounter::beginJob(), larg4::LArG4::beginJob(), evgen::PhotonGen::beginRun(), larg4::LArVoxelReadoutGeometry::Construct(), detinfo::DetectorPropertiesStandard::DataFor(), cosmic::BeamFlashTrackMatchTaggerAlg::FillFlashProperties(), opdet::FlashHypothesisAnaAlg::FillOpDetPositions(), simfilter::FilterNoDirtNeutrinos::filter(), geo::GeometryCore::GetElement(), geo::GeometryCore::HasElement(), trkf::SpacePointAlg::makeSpacePoints(), geo::GeometryCore::OpDetFromCryo(), geo::GeometryCore::OpDetGeoFromOpDet(), evgen::PhotonGen::PhotonGen(), larg4::LArG4::produce(), phot::PhotonVisibilityService::reconfigure(), and geo::GeometryCore::TPC().
|
inlineinherited |
Returns the specified cryostat.
cryoid | cryostat ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 345 of file GeometryCore.h.
References geo::CryostatID::Cryostat, geo::GeometryCore::fCryostats, and geo::GeometryCore::HasCryostat().
Referenced by geo::GeometryCore::Cryostat(), geo::GeometryCore::GetElementPtr(), geo::GeometryCore::HasTPC(), and geo::GeometryCore::TPCPtr().
|
inlinenoexceptinherited |
Definition at line 599 of file GeometryCore.h.
References geo::GeometryCore::fCryostats, geo::GeometryCore::LoadGeometryFile(), and geo::GeometryCore::SortGeometry().
|
inlineinherited |
Returns the tolerance used in looking for positions.
This parameter is used as tolerance ("wiggle") for methods that require it (e.g. geo::CryostatGeo::FindTPCAtPosition()
). Typically, it's a additional fraction of tolerance: 0 means no tolerance, 0.1 means 10% tolerance.
Definition at line 121 of file GeometryCore.h.
References geo::GeometryCore::fPositionWiggle.
|
inherited |
Returns the absolute coordinates of the detector enclosure volume [cm].
name | name of the volume to be sought (default: volDetEnclosure ) |
cet::exception | if the specified volume is not found |
Definition at line 221 of file GeometryCore.cxx.
References geo::GeometryCore::FindDetectorEnclosure(), and geo::LocalTransformation< StoredMatrix >::LocalToWorld().
Referenced by geo::WireReadoutDumper::dumpDetectorInfo(), geo::GeometryCore::Print(), and geo::GeometryCore::SurfaceY().
|
inlineinherited |
Returns a string with the name of the detector, as configured.
Definition at line 140 of file GeometryCore.h.
References geo::GeometryCore::fDetectorName, geo::GeometryCore::WorldBox(), and geo::GeometryCore::WorldVolume().
Referenced by evgen::SNNueAr40CCGen::beginRun(), evgen::CosmicsGen::beginRun(), evgen::FileMuons::beginRun(), evgen::NDKGen::beginRun(), evgen::PhotonGen::beginRun(), evgen::NucleonDecay::beginRun(), evgen::GaisserParam::beginRun(), evgen::MarleyGen::beginRun(), evgen::NeutronOsc::beginRun(), evgen::TextFileGen::beginRun(), evgen::GENIEGen::beginRun(), evgen::LightSource::beginRun(), evgen::MUSUN::beginRun(), evgen::RadioGen::beginRun(), evgen::MarleyTimeGen::beginRun(), evgen::CORSIKAGen::beginRun(), evgen::SingleGen::beginRun(), geo::DumpGeometry::dump(), geo::WireReadoutDumper::dumpDetectorInfo(), FillGeometryConfigurationInfo(), geo::GeometryCore::Print(), wc::CellTree::processSpacePoint(), wc::CellTree::processSpacePointTruthDepo(), and geo::DumpGeometry::shouldDumpGeometry().
|
private |
Fills the service configuration information into fConfInfo
.
Definition at line 41 of file Geometry.cc.
References sumdata::GeometryConfigurationInfo::dataVersion, sumdata::GeometryConfigurationInfo::detectorName, geo::GeometryCore::DetectorName(), fConfInfo, sumdata::GeometryConfigurationInfo::geometryServiceConfiguration, MF_LOG_TRACE, and fhicl::ParameterSet::to_indented_string().
Referenced by configurationInfo(), and Geometry().
|
inherited |
Returns paths of all nodes with volumes with the specified names.
vol_names | list of names of volumes |
All the nodes in the geometry are checked, and the path of all the ones that contain a volume with a name among the ones specified in vol_names is saved in the collection and returned.
A node path is a ordered list of all nodes leading to the final one, starting from thetop level (root) down. The node at the back()
of the path is the one with name in vol_names. No empty paths are returned.
Definition at line 363 of file GeometryCore.cxx.
References geo::CollectPathsByName::paths, and geo::GeometryCore::ROOTGeoManager().
Referenced by geo::GeometryCore::SurfaceY().
|
inherited |
Returns all the nodes with volumes with any of the specified names.
vol_names | list of names of volumes |
All the nodes in the geometry are checked, and all the ones that contain a volume with a name among the ones specified in vol_names are saved in the collection and returned.
Definition at line 346 of file GeometryCore.cxx.
References geo::CollectNodesByName::nodes, and geo::GeometryCore::ROOTGeoManager().
Referenced by geo::GeometryCore::SurfaceY().
Returns the ID of the TPC at specified location.
point | 3D point (world reference frame, centimeters) |
Definition at line 157 of file GeometryCore.cxx.
References geo::GeometryCore::fPositionWiggle, geo::GeometryCore::PositionToCryostatPtr(), and geo::CryostatGeo::PositionToTPCID().
Referenced by trkf::TrajectoryMCSFitter::breakTrajInSegments(), pma::ProjectionMatchingAlg::buildShowerSeg(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), ems::MultiEMShowers::convCluster(), evd::RecoBaseDrawer::DrawTrack2D(), hit::HitCheater::FindHitsOnChannel(), shower::EMShowerAlg::FindInitialTrackHits(), geo::WireReadoutGeom::FindTPCsetAtPosition(), geo::GeometryCore::GetElementPtr(), opdet::GetHitGeometryInfo(), nnet::TrainingDataAlg::getProjection(), lar_pandora::LArPandoraInput::GetTrueStartAndEndPoints(), hit::DisambigCheater::InitHitToWids(), trkf::TrajectoryMCSFitter::linearRegression(), evd::SimulationDrawer::MCTruthOrtho(), shower::EMShowerAlg::OrderShowerHits_(), calo::Calorimetry::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), filt::LArG4ParticleFilter::StartInTPCCheck(), filt::LArG4ParticleFilter::StopInTPCCheck(), filt::LArG4ParticleFilter::TPCTrajLengthCheck(), DUNE::NeutrinoTrackingEff::truthLength(), and DUNE::MuonTrackingEff::truthLength().
|
inlineinherited |
Returns the full directory path to the GDML file source.
This is the full path of the source of the detector geometry handed to the detector simulation (GEANT).
Definition at line 130 of file GeometryCore.h.
References geo::GeometryCore::fGDMLfile.
Referenced by larg4::LArG4::beginJob(), geo::DumpGeometry::dumpGeometry(), and evgen::GENIEGen::GENIEGen().
|
inherited |
Find the nearest OpChannel to some point.
point | point to be queried, in world coordinates |
std::numeric_limits<unsigned int>::max()
if invalid pointgeo::CryostatGeo::GetClosestOpDet()
instead (find the cryostat with PositionToCryostatPtr()
). Definition at line 658 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, geo::CryostatGeo::GetClosestOpDet(), geo::CryostatGeo::ID(), geo::GeometryCore::OpDetFromCryo(), and geo::GeometryCore::PositionToCryostatPtr().
Referenced by geo::GeometryCore::GetElementPtr().
|
inlineinherited |
Returns the specified cryostat.
cryoid | cryostat ID |
cet::exception | (GeometryCore category) if cryostat not present |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 334 of file GeometryCore.h.
References geo::GeometryCore::Cryostat().
Referenced by evd::SimulationDrawer::MCTruthOrtho().
Returns the specified TPC.
tpcid | ID of the tpc |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 452 of file GeometryCore.h.
References geo::GeometryCore::TPC().
|
inlineinherited |
Returns the specified cryostat.
cryoid | cryostat ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 349 of file GeometryCore.h.
References geo::Iterable< details::GeometryIterationPolicy, details::ToGeometryElement >::begin(), geo::GeometryCore::CryostatPtr(), geo::Iterable< details::GeometryIterationPolicy, details::ToGeometryElement >::end(), geo::Iterable< details::GeometryIterationPolicy, details::ToGeometryElement >::Iterate(), geo::GeometryCore::MaxTPCs(), geo::GeometryCore::PositionToCryostat(), geo::GeometryCore::PositionToCryostatID(), geo::GeometryCore::PositionToCryostatPtr(), and geo::GeometryCore::TotalNTPC().
Referenced by geo::details::getElementPtr(), and geo::GeometryCore::NTPC().
Returns the specified TPC.
tpcid | TPC ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 468 of file GeometryCore.h.
References geo::details::cryostat_zero, geo::GeometryCore::FindTPCAtPosition(), geo::GeometryCore::GetClosestOpDet(), geo::GeometryCore::NOpDets(), geo::GeometryCore::OpDetFromCryo(), geo::GeometryCore::OpDetGeoFromOpDet(), geo::GeometryCore::OpDetGeoName(), geo::GeometryCore::PositionToTPC(), geo::GeometryCore::PositionToTPCID(), geo::GeometryCore::PositionToTPCptr(), and geo::GeometryCore::TPCPtr().
|
inherited |
Return the name of the world volume (needed by Geant4 simulation)
Definition at line 212 of file GeometryCore.cxx.
Referenced by geo::GeometryCore::SurfaceY(), geo::GeometryCore::WorldBox(), and geo::GeometryCore::WorldVolume().
|
inlineinherited |
Returns whether we have the specified cryostat.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 318 of file GeometryCore.h.
References geo::CryostatID::Cryostat, and geo::GeometryCore::Ncryostats().
Referenced by geo::GeometryCore::CryostatPtr(), and geo::GeometryCore::HasElement().
|
inlineinherited |
Returns whether we have the specified cryostat.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 319 of file GeometryCore.h.
References geo::GeometryCore::Cryostat(), geo::details::cryostat_zero, and geo::GeometryCore::HasCryostat().
|
inlineinherited |
Returns whether we have the specified TPC.
Definition at line 436 of file GeometryCore.h.
References geo::GeometryCore::HasTPC().
|
inlineinherited |
Returns whether we have the specified TPC.
Definition at line 429 of file GeometryCore.h.
References geo::GeometryCore::CryostatPtr(), and geo::CryostatGeo::HasTPC().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), geo::GeometryCore::HasElement(), and evd::TWQProjectionView::SelectTPC().
|
inherited |
Returns a string with complete geometry information.
Print()
Definition at line 588 of file GeometryCore.cxx.
References geo::GeometryCore::Print().
Referenced by geo::GeometryCore::SurfaceY().
|
inherited |
Returns the column density between two points.
p1 | the first point |
p2 | the second point |
The column density is defined as where
is the density at point
, which the integral leads from
p1
to p2
in a straight line.
Both points are specified in world coordinates.
Definition at line 550 of file GeometryCore.cxx.
References dir, and geo::vect::makePointFromCoords().
Referenced by geo::GeometryCore::SurfaceY().
|
inherited |
Returns the material at the specified position.
Definition at line 467 of file GeometryCore.cxx.
Referenced by geo::GeometryCore::MaterialName(), and geo::GeometryCore::SurfaceY().
|
inherited |
Name of the deepest material containing the point xyz.
point | the location to query, in world coordinates |
Definition at line 476 of file GeometryCore.cxx.
References geo::BoxBoundedGeo::ContainsPosition(), geo::GeometryCore::Material(), geo::BoxBoundedGeo::Max(), geo::BoxBoundedGeo::Min(), and geo::GeometryCore::WorldBox().
Referenced by larg4::LArG4Ana::analyze(), and geo::GeometryCore::SurfaceY().
|
inherited |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 379 of file GeometryCore.cxx.
References geo::GeometryCore::fCryostats.
Referenced by geo::details::GeometryIterationPolicy::EndTPCID(), geo::GeometryCore::GetElementPtr(), and evd::TWQProjectionView::SetUpTPCselection().
|
inlineinherited |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 303 of file GeometryCore.h.
References geo::GeometryCore::fCryostats.
Referenced by detsim::WienerFilterAna::beginJob(), detsim::SimDriftElectrons::beginJob(), detsim::DriftElectronstoPlane::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildHitPairMap(), lar_cluster3d::SnippetHit3DBuilder::BuildHitPairMap(), larg4::LArVoxelReadout::ClearSimChannels(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), larg4::LArVoxelReadoutGeometry::Construct(), detinfo::DetectorPropertiesStandard::DataFor(), hit::DisambigCheater::DisambigCheater(), geo::WireReadoutDumper::dumpDetectorInfo(), geo::details::GeometryIterationPolicy::EndCryostatID(), detsim::WienerFilterAna::endJob(), geo::details::ReadoutIterationPolicy::EndPlaneID(), geo::details::GeometryIterationPolicy::EndTPCID(), geo::details::ReadoutIterationPolicy::EndWireID(), larg4::ISTPC::extractActiveLArVolume(), larg4::OpFastScintillation::extractActiveVolumes(), geo::GeometryCore::HasCryostat(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), trkf::SpacePointAlg::makeSpacePoints(), geo::GeometryCore::NElements(), geo::GeometryCore::NSiblingElements(), geo::GeometryCore::OpDetFromCryo(), geo::GeometryCore::OpDetGeoFromOpDet(), larg4::OpFastScintillation::OpFastScintillation(), phot::PDFastSimPAR::PDFastSimPAR(), geo::GeometryCore::Print(), larg4::LArG4::produce(), evd::TWQProjectionView::SelectTPC(), evd::TWQProjectionView::SetUpTPCselection(), and cheat::BackTracker::SpacePointHitsToWeightedXYZ().
|
inlineinherited |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 304 of file GeometryCore.h.
References geo::GeometryCore::Ncryostats().
|
inlineinherited |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 421 of file GeometryCore.h.
References geo::GeometryCore::NTPC().
|
inherited |
Number of OpDets in the whole detector.
Definition at line 133 of file GeometryCore.cxx.
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), phot::CreateHybridLibrary::CreateHybridLibrary(), opdet::FlashHypothesisAnaAlg::FillOpDetPositions(), larg4::OpDetLookup::FindClosestOpDet(), geo::GeometryCore::GetElementPtr(), geo::WireReadoutGeom::IsValidOpChannel(), phot::PhotonVisibilityService::LoadLibrary(), phot::PhotonMappingIdentityTransformations::makeLibraryIndicesToOpDetsMap(), phot::PhotonMappingIdentityTransformations::makeOpDetsToLibraryIndicesMap(), geo::WireReadoutGeom::MaxOpChannel(), geo::WireReadoutGeom::NOpChannels(), cosmic::BeamFlashTrackMatchTaggerAlg::NormalizeLightHypothesis(), phot::PropagationTimeModel::opDetCenters(), phot::PropagationTimeModel::opDetOrientations(), phot::PDFastSimPAR::PDFastSimPAR(), phot::PhotonLibraryHybrid::PhotonLibraryHybrid(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), wc::CellTree::processOpFlash(), sim::PhotonHitConverter::produce(), larg4::LArG4::produce(), lariov::SIOVPmtGainProvider::Reconfigure(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), and opdet::FlashHypothesisAnaAlg::SetOutputObjects().
|
inlineinherited |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 305 of file GeometryCore.h.
References geo::GeometryCore::Ncryostats().
Referenced by geo::details::GeometryIterationPolicy::NSiblings().
|
inlineinherited |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 422 of file GeometryCore.h.
References geo::GeometryCore::NTPC().
|
inlineinherited |
Returns the total number of TPCs in the specified cryostat.
cryoid | cryostat number |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 416 of file GeometryCore.h.
References geo::GeometryCore::GetElementPtr(), and geo::CryostatGeo::NElements().
Referenced by apa::APAGeometryAlg::APAGeometryAlg(), detsim::WienerFilterAna::beginJob(), detsim::SimDriftElectrons::beginJob(), detsim::DriftElectronstoPlane::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildHitPairMap(), lar_cluster3d::SnippetHit3DBuilder::BuildHitPairMap(), mvapid::MVAAlg::CalcSegmentdEdxDist(), larg4::LArVoxelReadout::ClearSimChannels(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), hit::DisambigCheater::DisambigCheater(), detsim::WienerFilterAna::endJob(), mvapid::MVAAlg::GetWireNormals(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), geo::GeometryCore::NElements(), geo::GeometryCore::NSiblingElements(), phot::PDFastSimPAR::PDFastSimPAR(), nnet::PointIdTrainingData::PointIdTrainingData(), evgen::ActiveVolumeVertexSampler::reconfigure(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), evd::TWQProjectionView::SelectTPC(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), tca::TrajClusterAlg::SetSourceHits(), evd::TWQProjectionView::SetUpTPCselection(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), tca::StitchPFPs(), apa::DisambigAlg::TrivialDisambig(), and evd::TWQMultiTPCProjectionView::TWQMultiTPCProjectionView().
|
inherited |
Get unique opdet number from cryo and internal count.
Definition at line 598 of file GeometryCore.cxx.
References geo::GeometryCore::Cryostat(), geo::GeometryCore::Ncryostats(), and geo::CryostatGeo::NOpDet().
Referenced by geo::GeometryCore::GetClosestOpDet(), and geo::GeometryCore::GetElementPtr().
|
inherited |
Returns the geo::OpDetGeo
object for the given detector number.
OpDet | optical detector unique number |
Definition at line 626 of file GeometryCore.cxx.
References geo::GeometryCore::Cryostat(), geo::GeometryCore::Ncryostats(), geo::CryostatGeo::NOpDet(), and geo::CryostatGeo::OpDet().
Referenced by opdet::SimPhotonCounter::beginJob(), phot::CreateHybridLibrary::CreateHybridLibrary(), phot::PhotonVisibilityService::DistanceToOpDetImpl(), larg4::OpDetLookup::FindClosestOpDet(), phot::PhotonLibraryHybrid::GetCount(), geo::GeometryCore::GetElementPtr(), phot::PropagationTimeModel::opDetCenters(), phot::PDFastSimPAR::opDetCenters(), geo::WireReadoutGeom::OpDetGeoFromOpChannel(), phot::PropagationTimeModel::opDetOrientations(), larg4::OpFastScintillation::OpFastScintillation(), phot::SemiAnalyticalModel::opticalDetectors(), and phot::PhotonVisibilityService::SolidAngleFactorImpl().
|
inherited |
Returns gdml string which gives sensitive opdet name.
cid | ID of the cryostat the detector is in |
This name is defined in the geometry (GDML) description.
Referenced by geo::GeometryCore::GetElementPtr().
|
inherited |
Returns the cryostat at specified location.
point | the location [cm] |
geo::CryostatGeo
containing point
cet::exception | ("Geometry" category) if no cryostat matches |
The tolerance used here is the one returned by DefaultWiggle().
Definition at line 205 of file GeometryCore.cxx.
References geo::GeometryCore::PositionToCryostatPtr().
Referenced by geo::GeometryCore::GetElementPtr().
|
inherited |
Returns the ID of the cryostat at specified location.
point | the location [cm] |
point
(invalid if none)The tolerance used here is the one returned by DefaultWiggle().
Definition at line 177 of file GeometryCore.cxx.
References geo::CryostatGeo::ID(), and geo::GeometryCore::PositionToCryostatPtr().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), geo::GeometryCore::GetElementPtr(), sim::MCRecoEdep::MakeMCEdep(), evd::SimulationDrawer::MCTruthOrtho(), and detsim::SimDriftElectrons::produce().
|
inherited |
Returns the cryostat at specified location.
point | the location [cm] |
geo::CryostatGeo
including point
, or nullptr
The tolerance used here is the one returned by DefaultWiggle().
Definition at line 168 of file GeometryCore.cxx.
References geo::GeometryCore::fPositionWiggle.
Referenced by geo::GeometryCore::FindTPCAtPosition(), geo::GeometryCore::GetClosestOpDet(), geo::GeometryCore::GetElementPtr(), geo::GeometryCore::PositionToCryostat(), geo::GeometryCore::PositionToCryostatID(), and geo::GeometryCore::PositionToTPCptr().
Returns the TPC at specified location.
point | the location [cm] |
geo::TPCGeo
including point
cet::exception | ("Geometry" category) if no TPC matches |
Definition at line 191 of file GeometryCore.cxx.
References geo::GeometryCore::PositionToTPCptr().
Referenced by geo::GeometryCore::GetElementPtr(), and opreco::OpticalRecoAna::update_MC_particle_time().
Returns the ID of the TPC at specified location.
point | the location [cm] |
PositionToTPC()
Definition at line 198 of file GeometryCore.cxx.
References geo::TPCGeo::ID(), and geo::GeometryCore::PositionToTPCptr().
Referenced by larg4::ISCalcCorrelated::AngleToEFieldAtStep(), evdb_tool::DrawLArVoxel3D::Draw(), evdb_tool::DrawSimEnergyDeposit3D::drawAll(), evdb_tool::DrawSimEnergyDeposit3D::drawMCPartAssociated(), larg4::ISCalcCorrelated::EFieldAtStep(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), geo::GeometryCore::GetElementPtr(), lar_pandora::LArPandoraInput::GetTrueX0(), apa::APAGeometryAlg::LineSegChanIntersect(), sim::MCRecoEdep::MakeMCEdep(), evd::SimulationDrawer::MCTruth3D(), detsim::SimDriftElectrons::produce(), and cheat::BackTracker::SpacePointHitsToWeightedXYZ().
Returns the TPC at specified location.
point | the location [cm] |
geo::TPCGeo
including point
, or nullptr
if none Definition at line 184 of file GeometryCore.cxx.
References geo::GeometryCore::fPositionWiggle, geo::GeometryCore::PositionToCryostatPtr(), and geo::CryostatGeo::PositionToTPCptr().
Referenced by geo::GeometryCore::GetElementPtr(), lar_pandora::PFParticleMonitoring::GetStartAndEndPoints(), geo::GeometryCore::PositionToTPC(), and geo::GeometryCore::PositionToTPCID().
|
inherited |
Prints geometry information with maximum verbosity.
Definition at line 633 of file GeometryCore.h.
References geo::GeometryCore::DetectorEnclosureBox(), geo::GeometryCore::DetectorName(), art::detail::indent(), geo::TPCGeo::MaxVerbosity, geo::OpDetGeo::MaxVerbosity, geo::GeometryCore::Ncryostats(), geo::OpDetGeo::PrintOpDetInfo(), and geo::TPCGeo::PrintTPCInfo().
Referenced by geo::GeometryCore::Info(), and geo::GeometryCore::SurfaceY().
|
inline |
Returns a pointer to the geometry service provider.
Definition at line 49 of file Geometry.h.
|
inherited |
Access to the ROOT geometry description manager.
Definition at line 126 of file GeometryCore.cxx.
References geo::GeometryCore::fManager.
Referenced by evgen::BaseRadioGen::BaseRadioGen(), evgen::LightSource::checkMaterials(), geo::GeometryCore::FindAllVolumePaths(), geo::GeometryCore::FindAllVolumes(), geo::GeometryCore::FindDetectorEnclosure(), evgen::GENIEGen::GENIEGen(), evgen::RadioGen::SampleOne(), and geo::GeometryCore::SurfaceY().
|
inlineinherited |
The position of the detector respect to earth surface.
This is the depth (y) of the surface (where earth meets air) for this detector site. The number is expressed in world coordinates and in centimeters, and it represents the y coordinate of earth surface. A negative value means that the origin of coordinates, typically matching the detector centre, is above surface.
Definition at line 186 of file GeometryCore.h.
References geo::GeometryCore::DetectorEnclosureBox(), geo::GeometryCore::FindAllVolumePaths(), geo::GeometryCore::FindAllVolumes(), geo::GeometryCore::fSurfaceY, geo::GeometryCore::GetWorldVolumeName(), art::detail::indent(), geo::GeometryCore::Info(), geo::GeometryCore::MassBetweenPoints(), geo::GeometryCore::Material(), geo::GeometryCore::MaterialName(), geo::GeometryCore::Print(), geo::GeometryCore::ROOTGeoManager(), geo::GeometryCore::TotalMass(), and geo::GeometryCore::VolumeName().
Referenced by evgen::CosmicsGen::produce().
|
inlineinherited |
Returns the total mass [kg] of the specified volume (default: world).
Definition at line 255 of file GeometryCore.h.
Referenced by evgen::GENIEGen::GENIEGen(), and geo::GeometryCore::SurfaceY().
|
inherited |
Returns the total mass [kg] of the specified volume (default: world).
Definition at line 538 of file GeometryCore.cxx.
|
inherited |
Returns the total number of TPCs in the detector.
Definition at line 390 of file GeometryCore.cxx.
References geo::GeometryCore::fCryostats, and sum.
Referenced by geo::GeometryCore::GetElementPtr().
|
inlineinherited |
Returns the specified TPC.
tpcid | ID of the tpc |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 448 of file GeometryCore.h.
References geo::GeometryCore::Cryostat(), and geo::CryostatGeo::TPC().
Referenced by lar::example::AnalysisExample::analyze(), larg4::ISCalcCorrelated::AngleToEFieldAtStep(), sce::SCECorrection::applyT0Shift(), trkf::SpacePointAna::bookHistograms(), pma::ProjectionMatchingAlg::buildShowerSeg(), phot::PropagationTimeModel::cathodeCentre(), LArStackingAction::ClassifyNewTrack(), evd::Display3DPad::Draw(), larg4::LArVoxelReadout::DriftIonizationElectrons(), larg4::ISCalcCorrelated::EFieldAtStep(), larg::LArSimChannelAna::ensureHists(), hit::MagDriftAna::ensureHists(), tca::FillWireHitRange(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), trk::TrackContainmentAlg::GetCosmicTagID(), geo::GeometryCore::GetElement(), nnet::TrainingDataAlg::getProjection(), lar_pandora::LArPandoraInput::GetTrueX0(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), cosmic::BeamFlashTrackMatchTaggerAlg::InDriftWindow(), pma::Track3D::InitFromMiddle(), trk::TrackContainmentAlg::IsContained(), pma::PMAlgTracker::mergeCoLinear(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), larg4::OpFastScintillation::OpFastScintillation(), phot::PDFastSimPAR::PDFastSimPAR(), trkf::CCTrackMaker::PlnMatch(), trk::TrackContainmentAlg::ProcessTracks(), evgen::CosmicsGen::produce(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), trkf::Track3DKalman::produce(), vertex::VertexFinder2D::produce(), detsim::SimDriftElectrons::produce(), detsim::DriftElectronstoPlane::produce(), trkf::Track3DKalmanSPS::produce(), trkf::PMAlgTrackMaker::produce(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), tca::SaveCRInfo(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), pma::Track3D::SetT0FromDx(), lar_pandora::LArPandoraGeometry::ShouldSwitchUV(), geo::WireReadoutGeom::SortPlanes(), trkf::CCTrackMaker::TagCosmics(), lar_pandora::ICARUS::TargetViewU(), lar_pandora::VintageLArTPCThreeView::TargetViewU(), lar_pandora::ICARUS::TargetViewV(), lar_pandora::VintageLArTPCThreeView::TargetViewV(), apa::APAGeometryAlg::ThreeChanPos(), calo::GnocchiCalorimetry::TrajectoryToWirePosition(), apa::DisambigAlg::TrivialDisambig(), apa::DisambigAlg::UseEndPts(), and evd::RecoBaseDrawer::Vertex2D().
Returns the specified TPC.
tpcid | TPC ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 463 of file GeometryCore.h.
References geo::GeometryCore::CryostatPtr(), and geo::CryostatGeo::TPCPtr().
Referenced by geo::GeometryCore::GetElementPtr().
|
inherited |
Returns the name of the deepest volume containing specified point.
point | the location to query, in world coordinates |
what happens if none?
Unify the coordinates type
Definition at line 446 of file GeometryCore.cxx.
References util::abs(), and geo::GeometryCore::WorldVolume().
Referenced by larg4::LArG4Ana::analyze(), LArStackingAction::InsideTPC(), and geo::GeometryCore::SurfaceY().
|
inherited |
Fills the arguments with the boundaries of the world.
xlo | (output) pointer to the lower x coordinate |
xlo | (output) pointer to the upper x coordinate |
ylo | (output) pointer to the lower y coordinate |
ylo | (output) pointer to the upper y coordinate |
zlo | (output) pointer to the lower z coordinate |
zlo | (output) pointer to the upper z coordinate |
cet::exception | ("GeometryCore" category) if no world found |
GetWorldVolumeName()
This method fills the boundaries of the world volume (GetWorldVolumeName()
).
If a pointer is null, its coordinate is skipped.
Definition at line 429 of file GeometryCore.cxx.
References geo::BoxBoundedGeo::MaxX(), geo::BoxBoundedGeo::MaxY(), geo::BoxBoundedGeo::MaxZ(), geo::BoxBoundedGeo::MinX(), geo::BoxBoundedGeo::MinY(), geo::BoxBoundedGeo::MinZ(), and geo::GeometryCore::WorldBox().
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), and evgen::CORSIKAGen::GetSample().
|
inherited |
Returns a box with the extremes of the world volume (from shape axes).
GetWorldVolumeName()
Definition at line 407 of file GeometryCore.cxx.
References geo::GeometryCore::GetWorldVolumeName(), geo::GeometryCore::WorldVolume(), x1, x2, y1, and y2.
Referenced by geo::GeometryCore::DetectorName(), geo::GeometryCore::MaterialName(), and geo::GeometryCore::WorldBox().
|
inherited |
Returns a pointer to the world volume.
Definition at line 401 of file GeometryCore.cxx.
References geo::GeometryCore::GetWorldVolumeName().
Referenced by geo::GeometryCore::DetectorName(), geo::GeometryCore::VolumeName(), and geo::GeometryCore::WorldBox().
|
private |
Summary of service configuration.
Definition at line 65 of file Geometry.h.
Referenced by configurationInfo(), and FillGeometryConfigurationInfo().