LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
The geometry of one entire detector, as served by art. More...
#include "AuxDetGeometry.h"
Public Member Functions | |
AuxDetGeometry (fhicl::ParameterSet const &pset, art::ActivityRegistry ®) | |
AuxDetGeometryCore const & | GetProvider () const |
Returns a constant reference to the service provider. More... | |
AuxDetGeometryCore const * | GetProviderPtr () const |
Returns a constant pointer to the service provider. More... | |
Private Member Functions | |
void | preBeginRun (art::Run const &run) |
Updates the geometry if needed at the beginning of each new run. More... | |
void | LoadNewGeometry (std::string gdmlfile, std::string rootfile) |
Expands the provided paths and loads the geometry description(s) More... | |
void | InitializeChannelMap () |
AuxDetGeometryCore & | GetProvider () |
Returns a reference to the service provider. More... | |
AuxDetGeometryCore * | GetProviderPtr () |
Returns a pointer to the service provider. More... | |
Private Attributes | |
AuxDetGeometryCore | fProvider |
the actual service provider More... | |
std::string | fRelPath |
bool | fForceUseFCLOnly |
fhicl::ParameterSet | fSortingParameters |
Parameter set to define the channel map sorting. More... | |
The geometry of one entire detector, as served by art.
This class extends the interface of the geometry service provider, GeometryCore, to the one of an art service. It handles the correct initialization of the provider using information
It relies on geo::ExptGeoHelperInterface service to obtain the channel mapping algorithm proper for the selected geometry.
The geometry initialization happens immediately on construction. Optionally, the geometry is automatically reinitialized on each run based on the information contained in the art::Run object.
In addition to the parameters documented in geo::GeometryCore, the following parameters are supported:
RelativePath
path and the base name specified in GDML
parameter; this path is searched for in the directories configured in the FW_SEARCH_PATH
environment variable;GDML
parameter, whose value is used instead; this path is assembled in the same way as the one for GDML
parameter, except that no alternative (wireless) geometry is used even if DisableWiresInG4
is specified (see below); this file is used to load the geometry used in the internal simulation and reconstruction, basically everywhere except for the Geant4 simulationForceUseFCLOnly
is set to true
, this mechanism is disabled and the geometry is just loaded at the beginning of the job from the information in the job configuration, once and for all.GDML
parameter is also served to ROOT for the internal geometry representation. Definition at line 83 of file AuxDetGeometry.h.
geo::AuxDetGeometry::AuxDetGeometry | ( | fhicl::ParameterSet const & | pset, |
art::ActivityRegistry & | reg | ||
) |
Definition at line 31 of file AuxDetGeometry.cc.
References fRelPath, LoadNewGeometry(), and preBeginRun().
|
inline |
Returns a constant reference to the service provider.
Definition at line 88 of file AuxDetGeometry.h.
Referenced by LoadNewGeometry(), and preBeginRun().
|
inlineprivate |
Returns a reference to the service provider.
Definition at line 103 of file AuxDetGeometry.h.
|
inline |
Returns a constant pointer to the service provider.
Definition at line 91 of file AuxDetGeometry.h.
|
inlineprivate |
Returns a pointer to the service provider.
Definition at line 106 of file AuxDetGeometry.h.
|
private |
Definition at line 91 of file AuxDetGeometry.cc.
References geo::AuxDetGeometryCore::ApplyChannelMap(), fProvider, and fSortingParameters.
Referenced by LoadNewGeometry().
|
private |
Expands the provided paths and loads the geometry description(s)
Definition at line 105 of file AuxDetGeometry.cc.
References fRelPath, GetProvider(), InitializeChannelMap(), and geo::AuxDetGeometryCore::LoadGeometryFile().
Referenced by AuxDetGeometry(), and preBeginRun().
|
private |
Updates the geometry if needed at the beginning of each new run.
Definition at line 57 of file AuxDetGeometry.cc.
References fForceUseFCLOnly, art::ProductRetriever::getMany(), GetProvider(), and LoadNewGeometry().
Referenced by AuxDetGeometry().
|
private |
Force Geometry to only use the geometry files specified in the fcl file
Definition at line 112 of file AuxDetGeometry.h.
Referenced by preBeginRun().
|
private |
the actual service provider
Definition at line 108 of file AuxDetGeometry.h.
Referenced by InitializeChannelMap().
|
private |
Relative path added to FW_SEARCH_PATH to search for geometry file
Definition at line 110 of file AuxDetGeometry.h.
Referenced by AuxDetGeometry(), and LoadNewGeometry().
|
private |
Parameter set to define the channel map sorting.
Definition at line 114 of file AuxDetGeometry.h.
Referenced by InitializeChannelMap().