|
| GeometryGAr (fhicl::ParameterSet const &pset,::art::ActivityRegistry ®) |
|
void | preBeginRun (::art::Run const &run) |
| Updates the geometry if needed at the beginning of each new run. More...
|
|
provider_type const * | provider () const |
| Returns a pointer to the geometry service provider. More...
|
|
gar::sumdata::GeometryConfigurationInfo const & | configurationInfo () const |
|
| GeometryCore (fhicl::ParameterSet const &pset) |
| Initialize geometry from a given configuration. More...
|
|
| ~GeometryCore () |
| Destructor. More...
|
|
| GeometryCore (GeometryCore const &)=delete |
|
| GeometryCore (GeometryCore &&)=delete |
|
GeometryCore & | operator= (GeometryCore const &)=delete |
|
GeometryCore & | operator= (GeometryCore &&)=delete |
|
double | DefaultWiggle () const |
| Returns the tolerance used in looking for positions. More...
|
|
std::string | ROOTFile () const |
| Returns the full directory path to the geometry file source. More...
|
|
std::string | GDMLFile () const |
| Returns the full directory path to the GDML file source. More...
|
|
unsigned int | NChannels () const |
|
void | ApplyECALSegmentationAlg (std::shared_ptr< gar::geo::seg::SegmentationAlg > pECALSegmentationAlg) |
|
void | ApplyMinervaSegmentationAlg (std::shared_ptr< gar::geo::seg::SegmentationAlg > pMinervaSegmentationAlg) |
|
void | ApplyMuIDSegmentationAlg (std::shared_ptr< gar::geo::seg::SegmentationAlg > pMuIDSegmentationAlg) |
|
gar::geo::seg::ChannelMapAlg const * | ChannelMap () const |
| Returns the object handling the channel map. More...
|
|
gar::geo::seg::SegmentationAlg const * | ECALSegmentationAlg () const |
| Returns the object handling the ECAL segmentation. More...
|
|
gar::geo::seg::SegmentationAlg const * | MinervaSegmentationAlg () const |
| Returns the object handling the Sc Tracker segmentation. More...
|
|
gar::geo::seg::SegmentationAlg const * | MuIDSegmentationAlg () const |
| Returns the object handling the MuID segmentation. More...
|
|
float | GetECALInnerBarrelRadius () const |
|
float | GetECALOuterBarrelRadius () const |
|
float | GetECALInnerEndcapRadius () const |
|
float | GetECALOuterEndcapRadius () const |
|
float | GetPVThickness () const |
|
int | GetECALInnerSymmetry () const |
|
float | GetECALInnerAngle () const |
|
float | GetECALBarrelSideLength () const |
|
float | GetECALBarrelApothemLength () const |
|
float | GetECALEndcapSideLength () const |
|
float | GetECALEndcapApothemLength () const |
|
float | GetECALEndcapStartX () const |
|
float | GetECALEndcapOuterX () const |
|
bool | HasRock () const |
|
bool | HasEnclosure () const |
|
bool | HasLArTPCDetector () const |
|
bool | HasGasTPCDetector () const |
|
bool | HasECALDetector () const |
|
bool | HasTrackerScDetector () const |
|
bool | HasMuonDetector () const |
|
float | GetMuIDInnerBarrelRadius () const |
|
float | GetMuIDOuterBarrelRadius () const |
|
int | GetMuIDInnerSymmetry () const |
|
float | GetMuIDInnerAngle () const |
|
float | GetMuIDBarrelSideLength () const |
|
float | GetMuIDBarrelApothemLength () const |
|
std::string | GetWorldVolumeName () const |
|
bool | PointInWorld (TVector3 const &point) const |
|
bool | PointInDetEnclosure (TVector3 const &point) const |
|
bool | PointInMPD (TVector3 const &point) const |
|
bool | PointInGArTPC (TVector3 const &point) const |
|
bool | PointInLArTPC (TVector3 const &point) const |
|
bool | PointInECALBarrel (TVector3 const &point) const |
|
bool | PointInECALEndcap (TVector3 const &point) const |
|
float | GetSensVolumeThickness (const TVector3 &point) const |
|
const std::array< double, 3 > | FindShapeSize (const TGeoNode *node) const |
|
gar::raw::CellID_t | GetCellID (const TGeoNode *node, const unsigned int &det_id, const unsigned int &stave, const unsigned int &module, const unsigned int &layer, const unsigned int &slice, const std::array< double, 3 > &localPosition) const |
|
const std::string | GetECALCellIDEncoding () const |
|
const std::string | GetMinervaCellIDEncoding () const |
|
const std::string | GetMuIDCellIDEncoding () const |
|
std::array< double, 3 > | GetPosition (const TGeoNode *node, const gar::raw::CellID_t &cID) const |
|
bool | isTile (const std::array< double, 3 > &point, const gar::raw::CellID_t &cID) const |
|
double | getStripWidth (const std::array< double, 3 > &point) const |
|
double | getTileSize (const std::array< double, 3 > &point) const |
|
double | getStripLength (const std::array< double, 3 > &point, const gar::raw::CellID_t &cID) const |
|
std::pair< TVector3, TVector3 > | GetStripEnds (const std::array< double, 3 > &point, const gar::raw::CellID_t &cID) const |
|
std::pair< float, float > | CalculateLightPropagation (const std::array< double, 3 > &point, const std::array< double, 3 > &local, const gar::raw::CellID_t &cID) const |
|
std::array< double, 3 > | ReconstructStripHitPosition (const std::array< double, 3 > &point, const std::array< double, 3 > &local, const float &xlocal, const gar::raw::CellID_t &cID) const |
|
template<> |
TGeoNode * | FindNode (float const &x, float const &y, float const &z) const |
|
template<> |
TGeoNode * | FindNode (double const &x, double const &y, double const &z) const |
|
template<> |
TGeoNode * | FindNode (float const &x, float const &y, float const &z) const |
|
template<> |
TGeoNode * | FindNode (double const &x, double const &y, double const &z) const |
|
std::string | DetectorName () const |
| Returns a string with the name of the detector, as configured. More...
|
|
void | WorldBox (float *xlo, float *xhi, float *ylo, float *yhi, float *zlo, float *zhi) const |
| Fills the arguments with the boundaries of the world. More...
|
|
double | SurfaceY () const |
| The position of the detector respect to earth surface. More...
|
|
TGeoManager * | ROOTGeoManager () const |
| Access to the ROOT geometry description manager. More...
|
|
float | GetOriginX () const |
|
float | GetOriginY () const |
|
float | GetOriginZ () const |
|
float | GetWorldX () const |
|
float | GetWorldY () const |
|
float | GetWorldZ () const |
|
float | GetWorldHalfWidth () const |
|
float | GetWorldHalfHeight () const |
|
float | GetWorldLength () const |
|
float | GetRockX () const |
|
float | GetRockY () const |
|
float | GetRockZ () const |
|
float | GetRockHalfWidth () const |
|
float | GetRockHalfHeight () const |
|
float | GetRockLength () const |
|
float | GetEnclosureX () const |
|
float | GetEnclosureY () const |
|
float | GetEnclosureZ () const |
|
float | GetEnclosureHalfWidth () const |
|
float | GetEnclosureHalfHeight () const |
|
float | GetEnclosureLength () const |
|
float | GetMPDX () const |
|
float | GetMPDY () const |
|
float | GetMPDZ () const |
|
float | GetMPDHalfWidth () const |
|
float | GetMPDHalfHeight () const |
|
float | GetMPDLength () const |
|
float | GetLArTPCX () const |
|
float | GetLArTPCY () const |
|
float | GetLArTPCZ () const |
|
float | GetActiveLArTPCX () const |
|
float | GetActiveLArTPCY () const |
|
float | GetActiveLArTPCZ () const |
|
float | GetLArTPCHalfWidth () const |
|
float | GetLArTPCHalfHeight () const |
|
float | GetLArTPCLength () const |
|
float | GetActiveLArTPCHalfWidth () const |
|
float | GetActiveLArTPCHalfHeight () const |
|
float | GetActiveLArTPCLength () const |
|
unsigned int | GetNLayers (std::string det) const |
|
std::map< gar::geo::LayeredCalorimeterData::LayoutType, std::shared_ptr< gar::geo::LayeredCalorimeterData > > | GetECALLayeredCalorimeterData () const |
|
float | GArLiteXCent () const |
|
float | GArLiteYCent () const |
|
float | GArLiteZCent () const |
|
float | GArLiteRadius () const |
|
float | GArLiteLength () const |
|
const std::string | VolumeName (TVector3 const &point) const |
| Returns the name of the deepest volume containing specified point. More...
|
|
std::vector< TGeoNode const * > | FindVolumePath (std::string const &vol_name) const |
| Returns all the nodes with volumes with any of the specified names. More...
|
|
bool | FindFirstVolume (std::string const &name, std::vector< const TGeoNode * > &path) const |
|
void | StoreECALNodes (std::map< std::string, std::vector< const TGeoNode * >> &map) const |
|
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...
|
|
template<typename T > |
TGeoNode * | FindNode (T const &x, T const &y, T const &z) const |
|
TGeoNode * | FindNode (std::array< double, 3 > const &point) const |
|
TGeoNode * | FindNode (TVector3 const &point) const |
|
bool | WorldToLocal (std::array< double, 3 > const &world, std::array< double, 3 > &local, gar::geo::LocalTransformation< TGeoHMatrix > &trans) const |
|
bool | LocalToWorld (std::array< double, 3 > const &local, std::array< double, 3 > &world, gar::geo::LocalTransformation< TGeoHMatrix > const &trans) const |
|
const std::string | MaterialName (TVector3 const &point) |
| Name of the deepest material containing the point xyz. More...
|
|
TGeoMaterial const * | Material (double x, double y, double z) const |
|
double | TotalMass (const char *vol="volWorld") const |
|
double | MassBetweenPoints (double *p1, double *p2) const |
| Return the column density between two points. More...
|
|
float | TPCRadius () const |
| Returns the radius of the TPC (y or z direction) More...
|
|
float | TPCLength () const |
| Returns the length of the TPC (x direction) More...
|
|
int | TPCNumDriftVols () const |
| Returns number of TPC drift volumes. More...
|
|
float | TPCXCent () const |
| Returns the X location of the center of the TPC in cm. More...
|
|
float | TPCYCent () const |
| Returns the Y location of the center of the TPC in cm. More...
|
|
float | TPCZCent () const |
| Returns the Z location of the center of the TPC in cm. More...
|
|
std::string | GetGArTPCVolumeName () const |
| Return the name of GAr TPC volume. More...
|
|
unsigned int | NearestChannel (float const worldLoc[3]) const |
| Returns the ID of the channel nearest to the specified position. More...
|
|
unsigned int | NearestChannel (std::vector< float > const &worldLoc) const |
|
unsigned int | NearestChannel (TVector3 const &worldLoc) const |
|
void | NearestChannelInfo (float const *xyz, gar::geo::ChanWithNeighbors &cwn) const |
|
float | GetIROCInnerRadius () const |
| radii query methods passing through to the channel map algorithm More...
|
|
float | GetIROCOuterRadius () const |
|
float | GetOROCInnerRadius () const |
|
float | GetOROCOuterRadius () const |
|
float | GetOROCPadHeightChangeRadius () const |
|
unsigned int | GapChannelNumber () const |
| Returns the ID of the channel representing a gap if you call NearestChannel and get this channel number, then charge is lost. More...
|
|
void | ChannelToPosition (unsigned int const channel, float *const worldLoc) const |
|
bool | ValueInRange (double value, double min, double max) const |
| Returns whether a value is within the specified range. More...
|
|
void | LoadGeometryFile (std::string const &gdmlfile, std::string const &rootfile, bool bForceReload=false) |
| Loads the geometry information from the specified files. More...
|
|
void | ApplyChannelMap (std::shared_ptr< gar::geo::seg::ChannelMapAlg > pChannelMap) |
| Initializes the geometry to work with this channel map. 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.
Configuration
In addition to the parameters documented in geo::GeometryCore, the following parameters are supported:
- RelativePath (string, default: no path): this path is prepended to the geometry file names before searching from them; the path string does not affect the file name
- GDML (string, mandatory): path of the GDML file to be served to Geant4 for detector simulation. The full file is composed out of the optional relative path specified by
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;
- ROOT (string, mandatory): currently overridden by
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 simulation
- DisableWiresInG4 (boolean, default: false): if true, Geant4 is loaded with an alternative geometry from a file with the standard name as configured with the /GDML/ parameter, but with an additional "_nowires" appended before the ".gdml" suffix
- ForceUseFCLOnly (boolean, default: false): information on the current geometry is stored in each run by the event generator producers; if this information does not describe the current geometry, a new geometry is loaded according to the information in the run. If
ForceUseFCLOnly
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.
- SortingParameters (a parameter set; default: empty): this configuration is directly passed to the channel mapping algorithm (see geo::ChannelMapAlg); its content is dependent on the chosen implementation of ChannelMapAlg
- Note
- Currently, the file defined by
GDML
parameter is also served to ROOT for the internal geometry representation.
Definition at line 104 of file GeometryGAr.h.