A ROOT/GEANT4 geometry driver. More...
Public Member Functions | |
ROOTGeomAnalyzer (string geometry_filename) | |
ROOTGeomAnalyzer (TGeoManager *gm) | |
ROOTGeomAnalyzer () | |
~ROOTGeomAnalyzer () | |
virtual const PDGCodeList & | ListOfTargetNuclei (void) |
implement the GeomAnalyzerI interface More... | |
virtual const PathLengthList & | ComputeMaxPathLengths (void) |
virtual const PathLengthList & | ComputePathLengths (const TLorentzVector &x, const TLorentzVector &p) |
virtual const TVector3 & | GenerateVertex (const TLorentzVector &x, const TLorentzVector &p, int tgtpdg) |
virtual void | SetScannerNPoints (int np) |
set geometry driver's configuration options More... | |
virtual void | SetScannerNRays (int nr) |
virtual void | SetScannerNParticles (int np) |
virtual void | SetScannerFlux (GFluxI *f) |
virtual void | SetWeightWithDensity (bool wt) |
virtual void | SetMixtureWeightsSum (double sum) |
virtual void | SetLengthUnits (double lu) |
virtual void | SetDensityUnits (double du) |
virtual void | SetMaxPlSafetyFactor (double sf) |
virtual void | SetTopVolName (string nm) |
virtual void | SetKeepSegPath (bool keep) |
virtual void | SetDebugFlags (int flgs) |
virtual int | ScannerNPoints (void) const |
retrieve geometry driver's configuration options More... | |
virtual int | ScannerNRays (void) const |
virtual int | ScannerNParticles (void) const |
virtual bool | WeightWithDensity (void) const |
virtual double | LengthUnits (void) const |
virtual double | DensityUnits (void) const |
virtual double | MixtureWeightsSum (void) const |
virtual double | MaxPlSafetyFactor (void) const |
virtual string | TopVolName (void) const |
virtual TGeoManager * | GetGeometry (void) const |
virtual bool | GetKeepSegPath (void) const |
virtual const PathLengthList & | GetMaxPathLengths (void) const |
virtual void | Local2SI (PathLengthList &pl) const |
access to geometry coordinate/unit transforms for validation/test purposes More... | |
virtual void | Local2SI (TVector3 &v) const |
virtual void | SI2Local (TVector3 &v) const |
virtual void | Master2Top (TVector3 &v) const |
virtual void | Master2TopDir (TVector3 &v) const |
virtual void | Top2Master (TVector3 &v) const |
virtual void | Top2MasterDir (TVector3 &v) const |
virtual GeomVolSelectorI * | AdoptGeomVolSelector (GeomVolSelectorI *selector) |
configure processing to perform path segment trimming More... | |
Protected Member Functions | |
virtual void | Initialize (void) |
virtual void | CleanUp (void) |
virtual void | Load (string geometry_filename) |
virtual void | Load (TGeoManager *gm) |
virtual void | BuildListOfTargetNuclei (void) |
virtual int | GetTargetPdgCode (const TGeoMaterial *const m) const |
virtual int | GetTargetPdgCode (const TGeoMixture *const m, int ielement) const |
virtual double | GetWeight (const TGeoMaterial *mat, int pdgc) |
virtual double | GetWeight (const TGeoMixture *mixt, int pdgc) |
virtual double | GetWeight (const TGeoMixture *mixt, int ielement, int pdgc) |
virtual void | MaxPathLengthsFluxMethod (void) |
virtual void | MaxPathLengthsBoxMethod (void) |
virtual bool | GenBoxRay (int indx, TLorentzVector &x4, TLorentzVector &p4) |
virtual double | ComputePathLengthPDG (const TVector3 &r, const TVector3 &udir, int pdgc) |
virtual void | SwimOnce (const TVector3 &r, const TVector3 &udir) |
virtual bool | FindMaterialInCurrentVol (int pdgc) |
virtual bool | WillNeverEnter (double step) |
virtual double | StepToNextBoundary (void) |
virtual double | Step (void) |
virtual double | StepUntilEntering (void) |
Protected Attributes | |
int | fMaterial |
input selected material for vertex generation More... | |
TGeoManager * | fGeometry |
input detector geometry More... | |
string | fTopVolumeName |
input top vol [other than TGeoManager::GetTopVolume()] More... | |
int | fNPoints |
max path length scanner (box method): points/surface [def:200] More... | |
int | fNRays |
max path length scanner (box method): rays/point [def:200] More... | |
int | fNParticles |
max path length scanner (flux method): particles in [def:10000] More... | |
GFluxI * | fFlux |
a flux objects that can be used to scan the max path lengths More... | |
bool | fDensWeight |
if true pathlengths are weighted with density [def:true] More... | |
double | fLengthScale |
conversion factor: input geometry length units -> meters More... | |
double | fDensityScale |
conversion factor: input geometry density units -> kgr/meters^3 More... | |
double | fMaxPlSafetyFactor |
factor that can multiply the computed max path lengths More... | |
double | fMixtWghtSum |
norm of relative weights (<0 if explicit summing required) More... | |
TVector3 * | fCurrVertex |
current generated vertex More... | |
PathLengthList * | fCurrPathLengthList |
current list of path-lengths More... | |
PathLengthList * | fCurrMaxPathLengthList |
current list of max path-lengths More... | |
PDGCodeList * | fCurrPDGCodeList |
current list of target nuclei More... | |
TGeoVolume * | fTopVolume |
top volume More... | |
TGeoHMatrix * | fMasterToTop |
matrix connecting master coordinates to top volume coordinates More... | |
bool | fMasterToTopIsIdentity |
is fMasterToTop matrix the identity matrix? More... | |
bool | fKeepSegPath |
need to fill path segment "path" More... | |
PathSegmentList * | fCurrPathSegmentList |
current list of path-segments More... | |
GeomVolSelectorI * | fGeomVolSelector |
optional path seg trimmer (owned) More... | |
TVector3 | fGenBoxRayPos |
TVector3 | fGenBoxRayDir |
int | fiface |
int | fipoint |
int | firay |
bool | fnewpnt |
double | fdx |
double | fdy |
double | fdz |
double | fox |
double | foy |
double | foz |
top vol size/origin (top vol units) More... | |
double | fmxddist |
double | fmxdstep |
max errors in pathsegmentlist More... | |
int | fDebugFlags |
A ROOT/GEANT4 geometry driver.
May 24, 2005
Copyright (c) 2003-2019, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE
Definition at line 49 of file ROOTGeomAnalyzer.h.
ROOTGeomAnalyzer::ROOTGeomAnalyzer | ( | string | geometry_filename | ) |
Constructor from a geometry file
Definition at line 143 of file ROOTGeomAnalyzer.cxx.
References Initialize(), Load(), LOG, and pDEBUG.
ROOTGeomAnalyzer::ROOTGeomAnalyzer | ( | TGeoManager * | gm | ) |
Constructor from a TGeoManager
Definition at line 156 of file ROOTGeomAnalyzer.cxx.
References Initialize(), Load(), LOG, and pDEBUG.
|
inline |
Definition at line 54 of file ROOTGeomAnalyzer.h.
References ComputeMaxPathLengths(), ComputePathLengths(), GenerateVertex(), ListOfTargetNuclei(), submit_syst::x, and ~ROOTGeomAnalyzer().
ROOTGeomAnalyzer::~ROOTGeomAnalyzer | ( | ) |
Definition at line 169 of file ROOTGeomAnalyzer.cxx.
References CleanUp(), fmxddist, fmxdstep, LOG, and pNOTICE.
Referenced by ROOTGeomAnalyzer().
|
inlinevirtual |
configure processing to perform path segment trimming
take ownership, return old
Definition at line 109 of file ROOTGeomAnalyzer.h.
References BuildListOfTargetNuclei(), CleanUp(), ComputePathLengthPDG(), fGeomVolSelector, FindMaterialInCurrentVol(), GenBoxRay(), GetTargetPdgCode(), GetWeight(), Initialize(), Load(), m, MaxPathLengthsBoxMethod(), MaxPathLengthsFluxMethod(), make_associated_cosmic_defs::p4, r(), fillBadChanDBTables::step, Step(), StepToNextBoundary(), StepUntilEntering(), std::swap(), SwimOnce(), and WillNeverEnter().
Referenced by CreateFidSelection().
Determine possible target PDG codes. Note: If one is using a top volume other than the master level then the final list might include PDG codes that will never be seen during swimming through the volumes if those code are only found in materials outside the top volume.
Definition at line 827 of file ROOTGeomAnalyzer.cxx.
References exit(), fCurrPDGCodeList, fGeometry, GetTargetPdgCode(), MECModelEnuComparisons::i, LOG, pDEBUG, pERROR, pFATAL, genie::PDGCodeList::push_back(), and pWARN.
Referenced by AdoptGeomVolSelector(), and Load().
Definition at line 754 of file ROOTGeomAnalyzer.cxx.
References fCurrMaxPathLengthList, fCurrPathLengthList, fCurrPathSegmentList, fCurrPDGCodeList, fMasterToTop, LOG, and pNOTICE.
Referenced by AdoptGeomVolSelector(), and ~ROOTGeomAnalyzer().
|
virtual |
Computes the maximum path lengths for all materials in the input geometry. The computed path lengths are in SI units (kgr/m^2, if density weighting is enabled)
Implements genie::GeomAnalyzerI.
Definition at line 190 of file ROOTGeomAnalyzer.cxx.
References genie::GFluxI::Clear(), exit(), fCurrMaxPathLengthList, fFlux, fGeometry, LOG, MaxPathLengthsBoxMethod(), MaxPathLengthsFluxMethod(), pFATAL, pNOTICE, and genie::PathLengthList::SetAllToZero().
Referenced by main(), and ROOTGeomAnalyzer().
|
protectedvirtual |
Compute the path length for the material with pdg-code = pdc, staring from the input position r (top vol coord & units) and moving along the direction of the unit vector udir (top vol coord).
Definition at line 1362 of file ROOTGeomAnalyzer.cxx.
References fCurrPathSegmentList, genie::geometry::PathSegmentList::GetMatStepSumMap(), GetWeight(), LOG, pDEBUG, std_candles::pl, fillBadChanDBTables::step, SwimOnce(), and ana::weight.
Referenced by AdoptGeomVolSelector(), ComputePathLengths(), and GenerateVertex().
|
virtual |
Computes the path-length within each detector material for a neutrino starting from point x (master coord) and travelling along the direction of p (master coord). The computed path lengths are in SI units (kgr/m^2, if density weighting is enabled)
Implements genie::GeomAnalyzerI.
Definition at line 221 of file ROOTGeomAnalyzer.cxx.
References genie::PathLengthList::AddPathLength(), ComputePathLengthPDG(), fCurrPathLengthList, fCurrPDGCodeList, fGeomVolSelector, fMasterToTopIsIdentity, LengthUnits(), Local2SI(), LOG, Master2Top(), Master2TopDir(), genie::utils::print::P4AsShortString(), pDEBUG, pINFO, std_candles::pl, elec2geo::pos, genie::PathLengthList::SetAllToZero(), genie::geometry::GeomVolSelectorI::SetCurrentRay(), genie::geometry::GeomVolSelectorI::SetSI2Local(), SI2Local(), and genie::utils::print::X4AsString().
Referenced by main(), MaxPathLengthsBoxMethod(), MaxPathLengthsFluxMethod(), and ROOTGeomAnalyzer().
|
inlinevirtual |
Definition at line 89 of file ROOTGeomAnalyzer.h.
References fDensityScale.
Referenced by Local2SI().
|
protectedvirtual |
Definition at line 1612 of file ROOTGeomAnalyzer.cxx.
References fGeometry, GetTargetPdgCode(), MECModelEnuComparisons::i, LOG, make_root_from_grid_output::pdg, and pWARN.
Referenced by AdoptGeomVolSelector(), and GenerateVertex().
|
protectedvirtual |
Generate points in the geometry's bounding box and for each point generate random rays – a pseudo-flux – in master coordinates and SI units
Definition at line 1182 of file ROOTGeomAnalyzer.cxx.
References fdx, fdy, fdz, fGenBoxRayDir, fGenBoxRayPos, fiface, fipoint, firay, fMasterToTopIsIdentity, fnewpnt, fNPoints, fNRays, fox, foy, foz, fTopVolume, genie::RandomGen::Instance(), Local2SI(), LOG, Master2Top(), genie::utils::print::P3AsString(), pINFO, pNOTICE, elec2geo::pos, generate_hists::rnd, genie::RandomGen::RndGeom(), SI2Local(), Top2Master(), Top2MasterDir(), and genie::utils::print::Vec3AsString().
Referenced by AdoptGeomVolSelector(), and MaxPathLengthsBoxMethod().
|
virtual |
Generates a random vertex, within the detector material with the input PDG code, for a neutrino starting from point x (master coord) and travelling along the direction of p (master coord).
Implements genie::GeomAnalyzerI.
Definition at line 279 of file ROOTGeomAnalyzer.cxx.
References ComputePathLengthPDG(), genie::geometry::PathSegmentList::CrossCheck(), exit(), fCurrPathSegmentList, fCurrVertex, fDebugFlags, fGeometry, FindMaterialInCurrentVol(), genie::utils::xml::FindNode(), fMasterToTopIsIdentity, genie::geometry::PathSegment::fMaterial, fmxddist, fmxdstep, util::frac(), genie::geometry::PathSegment::fVolume, genie::geometry::PathSegmentList::GetMatStepSumMap(), genie::geometry::PathSegmentList::GetPathSegmentV(), genie::geometry::PathSegment::GetPosition(), genie::geometry::PathSegment::GetSummedStepRange(), GetWeight(), genie::RandomGen::Instance(), Local2SI(), LOG, Master2Top(), Master2TopDir(), genie::utils::print::P3AsString(), genie::utils::print::P4AsShortString(), pDEBUG, pERROR, pFATAL, pINFO, pNOTICE, elec2geo::pos, pWARN, generate_hists::rnd, genie::RandomGen::RndGeom(), genie::geometry::PathSegmentList::SetDoCrossCheck(), SI2Local(), Top2Master(), genie::utils::print::Vec3AsString(), wgt, and genie::utils::print::X4AsString().
Referenced by main(), and ROOTGeomAnalyzer().
|
inlinevirtual |
Definition at line 93 of file ROOTGeomAnalyzer.h.
References fGeometry.
Referenced by GetGeometry(), and main().
|
inlinevirtual |
Definition at line 94 of file ROOTGeomAnalyzer.h.
References fKeepSegPath.
|
inlinevirtual |
Definition at line 95 of file ROOTGeomAnalyzer.h.
References fCurrMaxPathLengthList, Local2SI(), Master2Top(), Master2TopDir(), std_candles::pl, SI2Local(), Top2Master(), Top2MasterDir(), and registry_explorer::v.
Referenced by main().
|
protectedvirtual |
Definition at line 892 of file ROOTGeomAnalyzer.cxx.
References genie::units::A, genie::pdg::IonPdgCode(), and Z.
Referenced by AdoptGeomVolSelector(), BuildListOfTargetNuclei(), FindMaterialInCurrentVol(), and GetWeight().
|
protectedvirtual |
Definition at line 903 of file ROOTGeomAnalyzer.cxx.
References genie::units::A, genie::pdg::IonPdgCode(), and Z.
|
protectedvirtual |
Get the weight of the input material. Return the weight only if the material's pdg code matches the input code. If the material is found to be a mixture, call the corresponding method for mixtures. Weight is in the curr geom density units.
Definition at line 915 of file ROOTGeomAnalyzer.cxx.
References genie::PDGCodeList::ExistsInPDGCodeList(), fCurrPDGCodeList, GetTargetPdgCode(), LOG, pDEBUG, pERROR, ana::weight, and WeightWithDensity().
Referenced by AdoptGeomVolSelector(), ComputePathLengthPDG(), GenerateVertex(), and GetWeight().
|
protectedvirtual |
Loop over the mixture elements, find the one matching the input pdgc and return its weight. Weight is in the curr geom density units.
Definition at line 976 of file ROOTGeomAnalyzer.cxx.
References exit(), GetTargetPdgCode(), GetWeight(), MECModelEnuComparisons::i, calib::j, LOG, Munits::nm, pERROR, pFATAL, pWARN, ana::weight, and WeightWithDensity().
|
protectedvirtual |
Get the weight of the input ith element of the input material. Return the weight only if the element's pdg code matches the input code. Weight is in the curr geom density units.
Definition at line 1015 of file ROOTGeomAnalyzer.cxx.
References ana::assert(), d, GetTargetPdgCode(), MECModelEnuComparisons::i, MixtureWeightsSum(), w, and ana::weight.
Definition at line 721 of file ROOTGeomAnalyzer.cxx.
References fCurrMaxPathLengthList, fCurrPathLengthList, fCurrPathSegmentList, fCurrPDGCodeList, fDebugFlags, fGeomVolSelector, fKeepSegPath, fMasterToTopIsIdentity, fmxddist, fmxdstep, fTopVolume, fTopVolumeName, genie::units::kilogram, LOG, genie::units::meter, genie::units::meter3, pNOTICE, SetDensityUnits(), SetLengthUnits(), SetMaxPlSafetyFactor(), SetMixtureWeightsSum(), SetScannerFlux(), SetScannerNParticles(), SetScannerNPoints(), SetScannerNRays(), and SetWeightWithDensity().
Referenced by AdoptGeomVolSelector(), and ROOTGeomAnalyzer().
|
inlinevirtual |
Definition at line 88 of file ROOTGeomAnalyzer.h.
References fLengthScale.
Referenced by ComputePathLengths(), Local2SI(), main(), and SI2Local().
|
virtual |
implement the GeomAnalyzerI interface
Implements genie::GeomAnalyzerI.
Definition at line 184 of file ROOTGeomAnalyzer.cxx.
References fCurrPDGCodeList.
Referenced by GetTargetCodes(), Load(), and ROOTGeomAnalyzer().
Load the detector geometry from the input ROOT file
Definition at line 766 of file ROOTGeomAnalyzer.cxx.
References exit(), shutoffs::filename, gm, LOG, pFATAL, and pNOTICE.
Referenced by AdoptGeomVolSelector(), and ROOTGeomAnalyzer().
|
protectedvirtual |
Load the detector geometry from the input TGeoManager
Definition at line 784 of file ROOTGeomAnalyzer.cxx.
References ana::assert(), BuildListOfTargetNuclei(), fCurrMaxPathLengthList, fCurrPathLengthList, fCurrPathSegmentList, fCurrVertex, fGeometry, fMasterToTop, fMasterToTopIsIdentity, fTopVolume, gm, ListOfTargetNuclei(), LOG, pFATAL, and pNOTICE.
|
virtual |
access to geometry coordinate/unit transforms for validation/test purposes
convert path lengths from current geometry units to SI units
Definition at line 566 of file ROOTGeomAnalyzer.cxx.
References DensityUnits(), LengthUnits(), LOG, pDEBUG, genie::PathLengthList::ScalePathLength(), and WeightWithDensity().
Referenced by ComputePathLengths(), GenBoxRay(), GenerateVertex(), and GetMaxPathLengths().
|
virtual |
convert position vector from current geometry units to SI units
Definition at line 590 of file ROOTGeomAnalyzer.cxx.
References LengthUnits(), LOG, pDEBUG, and genie::utils::print::Vec3AsString().
|
virtual |
transform the input position vector from the master volume coordinate system to the specified top volume coordinate system, but not change the units.
Definition at line 627 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, top, and genie::utils::print::Vec3AsString().
Referenced by ComputePathLengths(), genie::geometry::PlaneParam::ConvertMaster2Top(), genie::geometry::FidSphere::ConvertMaster2Top(), genie::geometry::FidCylinder::ConvertMaster2Top(), GenBoxRay(), GenerateVertex(), and GetMaxPathLengths().
|
virtual |
transform the input direction vector from the master volume coordinate system to the specified top volume coordinate system, but not change the units.
Definition at line 650 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, top, and genie::utils::print::Vec3AsString().
Referenced by ComputePathLengths(), genie::geometry::PlaneParam::ConvertMaster2Top(), genie::geometry::FidCylinder::ConvertMaster2Top(), GenerateVertex(), and GetMaxPathLengths().
Generate points in the geometry's bounding box and for each point generate random rays, follow them through the detector and figure out the maximum path length for each material
Definition at line 1110 of file ROOTGeomAnalyzer.cxx.
References ComputePathLengths(), fCurrMaxPathLengthList, fDensWeight, fMixtWghtSum, GenBoxRay(), calib::j, LOG, MaxPlSafetyFactor(), ns, genie::PathLengthList::PathLength(), pDEBUG, std_candles::pl, pNOTICE, extractScale::rms, genie::PathLengthList::SetPathLength(), ana::Sqrt(), submit_syst::x, and submit_syst::x2.
Referenced by AdoptGeomVolSelector(), and ComputeMaxPathLengths().
Use the input flux driver to generate "rays", and then follow them through the detector and figure out the maximum path length for each material
Definition at line 1046 of file ROOTGeomAnalyzer.cxx.
References abs(), ComputePathLengths(), emax, fCurrMaxPathLengthList, fFlux, genie::GFluxI::GenerateNext(), LOG, genie::GFluxI::MaxEnergy(), MaxPlSafetyFactor(), genie::GFluxI::Momentum(), genie::PathLengthList::PathLength(), std_candles::pl, pNOTICE, genie::GFluxI::Position(), pWARN, ScannerNParticles(), and genie::PathLengthList::SetPathLength().
Referenced by AdoptGeomVolSelector(), and ComputeMaxPathLengths().
|
inlinevirtual |
Definition at line 91 of file ROOTGeomAnalyzer.h.
References fMaxPlSafetyFactor.
Referenced by MaxPathLengthsBoxMethod(), and MaxPathLengthsFluxMethod().
|
inlinevirtual |
Definition at line 90 of file ROOTGeomAnalyzer.h.
References fMixtWghtSum.
Referenced by GetWeight().
Definition at line 86 of file ROOTGeomAnalyzer.h.
References fNParticles.
Referenced by MaxPathLengthsFluxMethod().
retrieve geometry driver's configuration options
Definition at line 84 of file ROOTGeomAnalyzer.h.
References fNPoints.
Definition at line 85 of file ROOTGeomAnalyzer.h.
References fNRays.
|
virtual |
Like SetLengthUnits, but for density (default units = kgr/m3)
Definition at line 475 of file ROOTGeomAnalyzer.cxx.
References fDensityScale, genie::units::kilogram, LOG, genie::units::meter3, and pNOTICE.
Referenced by Initialize(), and SetWeightWithDensity().
|
inlinevirtual |
Definition at line 79 of file ROOTGeomAnalyzer.h.
References fKeepSegPath, and sanity_check_grl::keep.
|
virtual |
Use the units of the input geometry, e.g. SetLengthUnits(genie::units::centimeter) GENIE uses the physical system of units (hbar=c=1) almost throughtout so everything is expressed in GeV but when analyzing detector geometries use meters. Setting input geometry units will allow the code to compute the conversion factor. As input, use one of the constants in $GENIE/src/Conventions/Units.h
Definition at line 458 of file ROOTGeomAnalyzer.cxx.
References fLengthScale, LOG, genie::units::meter, and pNOTICE.
Referenced by Initialize(), and SetWeightWithDensity().
|
virtual |
Set a factor that can multiply the computed max path lengths. The maximum path lengths are computed by performing an MC scanning of the input geometry. If you configure the scanner with a low number of points or rays you might understimate the path lengths, so you might want to 'inflate' them a little bit using this method. Do not set this number too high, because the max interaction probability will be grossly overestimated and you would need lots of attempts before getting a flux neutrino to interact...
Definition at line 486 of file ROOTGeomAnalyzer.cxx.
References fMaxPlSafetyFactor, LOG, and pNOTICE.
Referenced by Initialize(), and SetWeightWithDensity().
|
virtual |
Set it to x, if the relative weight proportions of elements in a mixture add up to x (eg x=1, 100, etc). Set it to a negative value to explicitly compute the correct weight normalization.
Definition at line 504 of file ROOTGeomAnalyzer.cxx.
References fMixtWghtSum, and sum.
Referenced by Initialize(), and SetWeightWithDensity().
Definition at line 72 of file ROOTGeomAnalyzer.h.
References MakeMiniprodValidationCuts::f, and fFlux.
Referenced by Initialize(), and main().
Definition at line 71 of file ROOTGeomAnalyzer.h.
References fNParticles.
Referenced by Initialize(), and main().
set geometry driver's configuration options
Definition at line 69 of file ROOTGeomAnalyzer.h.
References fNPoints.
Referenced by Initialize(), and main().
Definition at line 70 of file ROOTGeomAnalyzer.h.
References fNRays.
Referenced by Initialize(), and main().
Set the name of the top volume. This driver would ask the TGeoManager::GetTopVolume() for the top volume. Use this method for changing this if for example you want to set a smaller volume as the top one so as to generate events only in a specific part of your detector.
Definition at line 514 of file ROOTGeomAnalyzer.cxx.
References fGeometry, fMasterToTop, fMasterToTopIsIdentity, fTopVolume, fTopVolumeName, LOG, next(), file_size_ana::node, pNOTICE, and pWARN.
Referenced by main(), and SetWeightWithDensity().
|
inlinevirtual |
Definition at line 73 of file ROOTGeomAnalyzer.h.
References fDensWeight, Munits::nm, SetDensityUnits(), SetLengthUnits(), SetMaxPlSafetyFactor(), SetMixtureWeightsSum(), SetTopVolName(), and sum.
Referenced by Initialize().
|
virtual |
convert position vector from SI units to current geometry units
Definition at line 609 of file ROOTGeomAnalyzer.cxx.
References LengthUnits(), LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by ComputePathLengths(), GenBoxRay(), GenerateVertex(), and GetMaxPathLengths().
|
protectedvirtual |
Definition at line 1641 of file ROOTGeomAnalyzer.cxx.
References fGeometry, and fillBadChanDBTables::step.
Referenced by AdoptGeomVolSelector(), StepUntilEntering(), and SwimOnce().
|
protectedvirtual |
Definition at line 1634 of file ROOTGeomAnalyzer.cxx.
References fGeometry, and fillBadChanDBTables::step.
Referenced by AdoptGeomVolSelector(), StepUntilEntering(), and SwimOnce().
|
protectedvirtual |
Definition at line 1648 of file ROOTGeomAnalyzer.cxx.
References genie::utils::print::BoolAsYNString(), fGeometry, LOG, pDEBUG, fillBadChanDBTables::step, Step(), and StepToNextBoundary().
Referenced by AdoptGeomVolSelector(), and SwimOnce().
|
protectedvirtual |
Swim through the geometry from the from the input position r0 (top vol coord & units) and moving along the direction of the unit vector udir (topvol coord) to create a filled PathSegmentList
Definition at line 1402 of file ROOTGeomAnalyzer.cxx.
References genie::geometry::PathSegmentList::AddSegment(), genie::geometry::PathSegmentList::CrossCheck(), fCurrPathSegmentList, fDebugFlags, fGeometry, fGeomVolSelector, genie::geometry::PathSegmentList::FillMatStepSum(), fKeepSegPath, fmxddist, fmxdstep, genie::geometry::PathSegment::fStepRangeSet, genie::geometry::GeomVolSelectorI::GenerateTrimmedList(), genie::geometry::GeomVolSelectorI::GetNeedPath(), genie::geometry::PathSegmentList::IsSameStart(), LOG, ns, pDEBUG, pNOTICE, genie::geometry::PathSegmentList::SetAllToZero(), genie::geometry::PathSegmentList::SetDoCrossCheck(), genie::geometry::PathSegment::SetEnter(), genie::geometry::PathSegment::SetExit(), genie::geometry::PathSegment::SetGeo(), genie::geometry::PathSegment::SetPath(), genie::geometry::PathSegmentList::SetPrintVerbose(), genie::geometry::PathSegmentList::SetStartInfo(), genie::geometry::PathSegment::SetStep(), genie::geometry::PathSegmentList::size(), fillBadChanDBTables::step, Step(), StepToNextBoundary(), StepUntilEntering(), std::swap(), and WillNeverEnter().
Referenced by AdoptGeomVolSelector(), and ComputePathLengthPDG().
|
virtual |
transform the input position vector from the specified top volume coordinate system to the master volume coordinate system, but not change the units.
Definition at line 673 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, top, and genie::utils::print::Vec3AsString().
Referenced by GenBoxRay(), GenerateVertex(), and GetMaxPathLengths().
|
virtual |
transform the input direction vector from the specified top volume coordinate system to the master volume coordinate system.
Definition at line 696 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, top, and genie::utils::print::Vec3AsString().
Referenced by GenBoxRay(), and GetMaxPathLengths().
Definition at line 92 of file ROOTGeomAnalyzer.h.
References fTopVolumeName.
|
inlinevirtual |
Definition at line 87 of file ROOTGeomAnalyzer.h.
References fDensWeight.
Referenced by GetWeight(), and Local2SI().
|
protectedvirtual |
Definition at line 1671 of file ROOTGeomAnalyzer.cxx.
References LOG, pINFO, and fillBadChanDBTables::step.
Referenced by AdoptGeomVolSelector(), and SwimOnce().
|
protected |
current list of max path-lengths
Definition at line 156 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputeMaxPathLengths(), GetMaxPathLengths(), Initialize(), Load(), MaxPathLengthsBoxMethod(), and MaxPathLengthsFluxMethod().
|
protected |
current list of path-lengths
Definition at line 155 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputePathLengths(), Initialize(), and Load().
|
protected |
current list of path-segments
Definition at line 163 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputePathLengthPDG(), GenerateVertex(), Initialize(), Load(), and SwimOnce().
|
protected |
current list of target nuclei
Definition at line 157 of file ROOTGeomAnalyzer.h.
Referenced by BuildListOfTargetNuclei(), CleanUp(), ComputePathLengths(), GetWeight(), Initialize(), and ListOfTargetNuclei().
|
protected |
current generated vertex
Definition at line 154 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), and Load().
|
protected |
Definition at line 175 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SetDebugFlags(), and SwimOnce().
|
protected |
conversion factor: input geometry density units -> kgr/meters^3
Definition at line 151 of file ROOTGeomAnalyzer.h.
Referenced by DensityUnits(), and SetDensityUnits().
|
protected |
if true pathlengths are weighted with density [def:true]
Definition at line 149 of file ROOTGeomAnalyzer.h.
Referenced by MaxPathLengthsBoxMethod(), SetWeightWithDensity(), and WeightWithDensity().
|
protected |
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
a flux objects that can be used to scan the max path lengths
Definition at line 148 of file ROOTGeomAnalyzer.h.
Referenced by ComputeMaxPathLengths(), MaxPathLengthsFluxMethod(), and SetScannerFlux().
|
protected |
Definition at line 168 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 167 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
input detector geometry
Definition at line 143 of file ROOTGeomAnalyzer.h.
Referenced by BuildListOfTargetNuclei(), ComputeMaxPathLengths(), FindMaterialInCurrentVol(), GenerateVertex(), GetGeometry(), Load(), SetTopVolName(), Step(), StepToNextBoundary(), StepUntilEntering(), and SwimOnce().
|
protected |
optional path seg trimmer (owned)
Definition at line 164 of file ROOTGeomAnalyzer.h.
Referenced by AdoptGeomVolSelector(), ComputePathLengths(), Initialize(), and SwimOnce().
|
protected |
Definition at line 169 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 169 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 169 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
need to fill path segment "path"
Definition at line 162 of file ROOTGeomAnalyzer.h.
Referenced by GetKeepSegPath(), Initialize(), SetKeepSegPath(), and SwimOnce().
|
protected |
conversion factor: input geometry length units -> meters
Definition at line 150 of file ROOTGeomAnalyzer.h.
Referenced by LengthUnits(), and SetLengthUnits().
|
protected |
matrix connecting master coordinates to top volume coordinates
Definition at line 159 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), Load(), Master2Top(), Master2TopDir(), SetTopVolName(), Top2Master(), and Top2MasterDir().
|
protected |
is fMasterToTop matrix the identity matrix?
Definition at line 160 of file ROOTGeomAnalyzer.h.
Referenced by ComputePathLengths(), GenBoxRay(), GenerateVertex(), Initialize(), Load(), and SetTopVolName().
|
protected |
input selected material for vertex generation
Definition at line 142 of file ROOTGeomAnalyzer.h.
|
protected |
factor that can multiply the computed max path lengths
Definition at line 152 of file ROOTGeomAnalyzer.h.
Referenced by MaxPlSafetyFactor(), and SetMaxPlSafetyFactor().
|
protected |
norm of relative weights (<0 if explicit summing required)
Definition at line 153 of file ROOTGeomAnalyzer.h.
Referenced by MaxPathLengthsBoxMethod(), MixtureWeightsSum(), and SetMixtureWeightsSum().
|
protected |
Definition at line 174 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SwimOnce(), and ~ROOTGeomAnalyzer().
|
protected |
max errors in pathsegmentlist
Definition at line 174 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SwimOnce(), and ~ROOTGeomAnalyzer().
|
protected |
Definition at line 170 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
max path length scanner (flux method): particles in [def:10000]
Definition at line 147 of file ROOTGeomAnalyzer.h.
Referenced by ScannerNParticles(), and SetScannerNParticles().
|
protected |
max path length scanner (box method): points/surface [def:200]
Definition at line 145 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), ScannerNPoints(), and SetScannerNPoints().
|
protected |
max path length scanner (box method): rays/point [def:200]
Definition at line 146 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), ScannerNRays(), and SetScannerNRays().
|
protected |
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
top vol size/origin (top vol units)
Definition at line 171 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
top volume
Definition at line 158 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), Initialize(), Load(), and SetTopVolName().
|
protected |
input top vol [other than TGeoManager::GetTopVolume()]
Definition at line 144 of file ROOTGeomAnalyzer.h.
Referenced by Initialize(), SetTopVolName(), and TopVolName().