GENIEGenerator
|
A ROOT/GEANT4 geometry driver. More...
#include <ROOTGeomAnalyzer.h>
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 std::vector< std::pair < double, const TGeoMaterial * > > | ComputeMatLengths (const TLorentzVector &x, const TLorentzVector &p) |
virtual const TVector3 & | GenerateVertex (const TLorentzVector &x, const TLorentzVector &p, int tgtpdg) |
virtual int | GetTargetPdgCode (const TGeoMaterial *const m) const |
virtual int | GetTargetPdgCode (const TGeoMixture *const m, int ielement) const |
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... | |
Public Member Functions inherited from genie::GeomAnalyzerI | |
virtual | ~GeomAnalyzerI () |
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 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 Member Functions inherited from genie::GeomAnalyzerI | |
GeomAnalyzerI () | |
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.
Costas Andreopoulos <c.andreopoulos cern.ch> University of Liverpool
Robert Hatcher <rhatcher fnal.gov> Fermilab
Definition at line 54 of file ROOTGeomAnalyzer.h.
ROOTGeomAnalyzer::ROOTGeomAnalyzer | ( | string | geometry_filename | ) |
Constructor from a geometry file
Definition at line 71 of file ROOTGeomAnalyzer.cxx.
References Initialize(), Load(), LOG, and pDEBUG.
ROOTGeomAnalyzer::ROOTGeomAnalyzer | ( | TGeoManager * | gm | ) |
Constructor from a TGeoManager
Definition at line 84 of file ROOTGeomAnalyzer.cxx.
References Initialize(), Load(), LOG, and pDEBUG.
|
inline |
Definition at line 59 of file ROOTGeomAnalyzer.h.
ROOTGeomAnalyzer::~ROOTGeomAnalyzer | ( | ) |
Definition at line 97 of file ROOTGeomAnalyzer.cxx.
References CleanUp(), fmxddist, fmxdstep, LOG, and pNOTICE.
|
inlinevirtual |
configure processing to perform path segment trimming
take ownership, return old
Definition at line 121 of file ROOTGeomAnalyzer.h.
References fGeomVolSelector.
Referenced by CreateFidSelection().
|
protectedvirtual |
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 806 of file ROOTGeomAnalyzer.cxx.
References fCurrPDGCodeList, fGeometry, GetTargetPdgCode(), LOG, pDEBUG, pERROR, pFATAL, genie::PDGCodeList::push_back(), and pWARN.
Referenced by Load().
|
protectedvirtual |
Definition at line 718 of file ROOTGeomAnalyzer.cxx.
References fCurrMaxPathLengthList, fCurrPathLengthList, fCurrPathSegmentList, fCurrPDGCodeList, fMasterToTop, LOG, and pNOTICE.
Referenced by ~ROOTGeomAnalyzer().
|
virtual |
Definition at line 207 of file ROOTGeomAnalyzer.cxx.
References fCurrPathSegmentList, fGeomVolSelector, fMasterToTopIsIdentity, genie::geometry::PathSegment::fMaterial, genie::geometry::PathSegmentList::GetPathSegmentV(), genie::geometry::PathSegment::GetSummedStepRange(), LengthUnits(), Master2Top(), Master2TopDir(), genie::geometry::GeomVolSelectorI::SetCurrentRay(), genie::geometry::GeomVolSelectorI::SetSI2Local(), SI2Local(), and SwimOnce().
|
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 118 of file ROOTGeomAnalyzer.cxx.
References genie::GFluxI::Clear(), fCurrMaxPathLengthList, fFlux, fGeometry, LOG, MaxPathLengthsBoxMethod(), MaxPathLengthsFluxMethod(), pFATAL, pNOTICE, and genie::PathLengthList::SetAllToZero().
Referenced by main().
|
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 1353 of file ROOTGeomAnalyzer.cxx.
References fCurrPathSegmentList, genie::geometry::PathSegmentList::GetMatStepSumMap(), GetWeight(), LOG, pDEBUG, and SwimOnce().
Referenced by 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 149 of file ROOTGeomAnalyzer.cxx.
References genie::PathLengthList::AddPathLength(), ComputePathLengthPDG(), fCurrPathLengthList, fCurrPDGCodeList, fGeomVolSelector, fMasterToTopIsIdentity, LengthUnits(), Local2SI(), LOG, Master2Top(), Master2TopDir(), genie::utils::print::P4AsShortString(), pDEBUG, pINFO, genie::PathLengthList::SetAllToZero(), genie::geometry::GeomVolSelectorI::SetCurrentRay(), genie::geometry::GeomVolSelectorI::SetSI2Local(), SI2Local(), and genie::utils::print::X4AsString().
Referenced by main(), MaxPathLengthsBoxMethod(), and MaxPathLengthsFluxMethod().
|
inlinevirtual |
Definition at line 101 of file ROOTGeomAnalyzer.h.
References fDensityScale.
Referenced by Local2SI().
|
protectedvirtual |
Definition at line 1603 of file ROOTGeomAnalyzer.cxx.
References fGeometry, GetTargetPdgCode(), LOG, and pWARN.
Referenced by 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 1173 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, genie::RandomGen::RndGeom(), SI2Local(), Top2Master(), Top2MasterDir(), and genie::utils::print::Vec3AsString().
Referenced by 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 243 of file ROOTGeomAnalyzer.cxx.
References ComputePathLengthPDG(), genie::geometry::PathSegmentList::CrossCheck(), fCurrPathSegmentList, fCurrVertex, fDebugFlags, fGeometry, FindMaterialInCurrentVol(), genie::utils::xml::FindNode(), fMasterToTopIsIdentity, genie::geometry::PathSegment::fMaterial, fmxddist, fmxdstep, 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, pWARN, genie::RandomGen::RndGeom(), genie::geometry::PathSegmentList::SetDoCrossCheck(), SI2Local(), Top2Master(), genie::utils::print::Vec3AsString(), and genie::utils::print::X4AsString().
Referenced by main().
|
inlinevirtual |
Definition at line 105 of file ROOTGeomAnalyzer.h.
References fGeometry.
Referenced by GetGeometry(), and main().
|
inlinevirtual |
Definition at line 106 of file ROOTGeomAnalyzer.h.
References fKeepSegPath.
|
inlinevirtual |
Definition at line 107 of file ROOTGeomAnalyzer.h.
References fCurrMaxPathLengthList.
Referenced by main().
|
virtual |
Definition at line 871 of file ROOTGeomAnalyzer.cxx.
References genie::units::A, and genie::pdg::IonPdgCode().
Referenced by BuildListOfTargetNuclei(), FindMaterialInCurrentVol(), and GetWeight().
|
virtual |
Definition at line 882 of file ROOTGeomAnalyzer.cxx.
References genie::units::A, and genie::pdg::IonPdgCode().
|
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 894 of file ROOTGeomAnalyzer.cxx.
References genie::PDGCodeList::ExistsInPDGCodeList(), fCurrPDGCodeList, GetTargetPdgCode(), LOG, pDEBUG, pERROR, and WeightWithDensity().
Referenced by 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 955 of file ROOTGeomAnalyzer.cxx.
References GetTargetPdgCode(), GetWeight(), LOG, pERROR, pWARN, 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 1006 of file ROOTGeomAnalyzer.cxx.
References GetTargetPdgCode(), and MixtureWeightsSum().
|
protectedvirtual |
Definition at line 685 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 ROOTGeomAnalyzer().
|
inlinevirtual |
Definition at line 100 of file ROOTGeomAnalyzer.h.
References fLengthScale.
Referenced by ComputeMatLengths(), ComputePathLengths(), GetGeometry(), Local2SI(), main(), and SI2Local().
|
virtual |
implement the GeomAnalyzerI interface
Implements genie::GeomAnalyzerI.
Definition at line 112 of file ROOTGeomAnalyzer.cxx.
References fCurrPDGCodeList.
Referenced by GetTargetCodes(), and Load().
|
protectedvirtual |
Load the detector geometry from the input ROOT file
Definition at line 730 of file ROOTGeomAnalyzer.cxx.
References LOG, pFATAL, and pNOTICE.
Referenced by ROOTGeomAnalyzer().
|
protectedvirtual |
Load the detector geometry from the input TGeoManager
Definition at line 763 of file ROOTGeomAnalyzer.cxx.
References BuildListOfTargetNuclei(), fCurrMaxPathLengthList, fCurrPathLengthList, fCurrPathSegmentList, fCurrVertex, fGeometry, fMasterToTop, fMasterToTopIsIdentity, fTopVolume, 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 530 of file ROOTGeomAnalyzer.cxx.
References DensityUnits(), LengthUnits(), LOG, pDEBUG, genie::PathLengthList::ScalePathLength(), and WeightWithDensity().
Referenced by ComputePathLengths(), GenBoxRay(), and GenerateVertex().
|
virtual |
convert position vector from current geometry units to SI units
Definition at line 554 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 591 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by ComputeMatLengths(), ComputePathLengths(), genie::geometry::PlaneParam::ConvertMaster2Top(), genie::geometry::FidSphere::ConvertMaster2Top(), genie::geometry::FidCylinder::ConvertMaster2Top(), GenBoxRay(), and GenerateVertex().
|
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 614 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by ComputeMatLengths(), ComputePathLengths(), genie::geometry::PlaneParam::ConvertMaster2Top(), genie::geometry::FidCylinder::ConvertMaster2Top(), and GenerateVertex().
|
protectedvirtual |
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 1101 of file ROOTGeomAnalyzer.cxx.
References ComputePathLengths(), fCurrMaxPathLengthList, fDensWeight, fMixtWghtSum, GenBoxRay(), LOG, MaxPlSafetyFactor(), genie::units::ns, genie::PathLengthList::PathLength(), pDEBUG, pNOTICE, and genie::PathLengthList::SetPathLength().
Referenced by ComputeMaxPathLengths().
|
protectedvirtual |
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 1037 of file ROOTGeomAnalyzer.cxx.
References ComputePathLengths(), fCurrMaxPathLengthList, fFlux, genie::GFluxI::GenerateNext(), LOG, genie::GFluxI::MaxEnergy(), MaxPlSafetyFactor(), genie::GFluxI::Momentum(), genie::PathLengthList::PathLength(), pNOTICE, genie::GFluxI::Position(), pWARN, ScannerNParticles(), and genie::PathLengthList::SetPathLength().
Referenced by ComputeMaxPathLengths().
|
inlinevirtual |
Definition at line 103 of file ROOTGeomAnalyzer.h.
References fMaxPlSafetyFactor.
Referenced by MaxPathLengthsBoxMethod(), and MaxPathLengthsFluxMethod().
|
inlinevirtual |
Definition at line 102 of file ROOTGeomAnalyzer.h.
References fMixtWghtSum.
Referenced by GetWeight().
|
inlinevirtual |
Definition at line 98 of file ROOTGeomAnalyzer.h.
References fNParticles.
Referenced by MaxPathLengthsFluxMethod().
|
inlinevirtual |
retrieve geometry driver's configuration options
Definition at line 96 of file ROOTGeomAnalyzer.h.
References fNPoints.
|
inlinevirtual |
Definition at line 97 of file ROOTGeomAnalyzer.h.
References fNRays.
|
inlinevirtual |
|
virtual |
Like SetLengthUnits, but for density (default units = kgr/m3)
Definition at line 439 of file ROOTGeomAnalyzer.cxx.
References fDensityScale, genie::units::kilogram, LOG, genie::units::meter3, and pNOTICE.
Referenced by Initialize().
|
inlinevirtual |
Definition at line 91 of file ROOTGeomAnalyzer.h.
References fKeepSegPath.
|
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 422 of file ROOTGeomAnalyzer.cxx.
References fLengthScale, LOG, genie::units::meter, and pNOTICE.
Referenced by Initialize().
|
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 450 of file ROOTGeomAnalyzer.cxx.
References fMaxPlSafetyFactor, LOG, and pNOTICE.
Referenced by Initialize().
|
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 468 of file ROOTGeomAnalyzer.cxx.
References fMixtWghtSum.
Referenced by Initialize().
|
inlinevirtual |
Definition at line 84 of file ROOTGeomAnalyzer.h.
References fFlux.
Referenced by Initialize(), and main().
|
inlinevirtual |
Definition at line 83 of file ROOTGeomAnalyzer.h.
References fNParticles.
Referenced by Initialize(), and main().
|
inlinevirtual |
set geometry driver's configuration options
Definition at line 81 of file ROOTGeomAnalyzer.h.
References fNPoints.
Referenced by Initialize(), and main().
|
inlinevirtual |
Definition at line 82 of file ROOTGeomAnalyzer.h.
References fNRays.
Referenced by Initialize(), and main().
|
virtual |
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 478 of file ROOTGeomAnalyzer.cxx.
References fGeometry, fMasterToTop, fMasterToTopIsIdentity, fTopVolume, fTopVolumeName, LOG, pNOTICE, and pWARN.
Referenced by main().
|
inlinevirtual |
Definition at line 85 of file ROOTGeomAnalyzer.h.
References fDensWeight.
Referenced by Initialize().
|
virtual |
convert position vector from SI units to current geometry units
Definition at line 573 of file ROOTGeomAnalyzer.cxx.
References LengthUnits(), LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by ComputeMatLengths(), ComputePathLengths(), GenBoxRay(), and GenerateVertex().
|
protectedvirtual |
Definition at line 1632 of file ROOTGeomAnalyzer.cxx.
References fGeometry.
Referenced by StepUntilEntering(), and SwimOnce().
|
protectedvirtual |
Definition at line 1625 of file ROOTGeomAnalyzer.cxx.
References fGeometry.
Referenced by StepUntilEntering(), and SwimOnce().
|
protectedvirtual |
Definition at line 1639 of file ROOTGeomAnalyzer.cxx.
References genie::utils::print::BoolAsYNString(), fGeometry, LOG, pDEBUG, Step(), and StepToNextBoundary().
Referenced by 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 1393 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, genie::units::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(), Step(), StepToNextBoundary(), StepUntilEntering(), and WillNeverEnter().
Referenced by ComputeMatLengths(), 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 637 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by GenBoxRay(), and GenerateVertex().
|
virtual |
transform the input direction vector from the specified top volume coordinate system to the master volume coordinate system.
Definition at line 660 of file ROOTGeomAnalyzer.cxx.
References fMasterToTop, LOG, pDEBUG, and genie::utils::print::Vec3AsString().
Referenced by GenBoxRay().
|
inlinevirtual |
Definition at line 104 of file ROOTGeomAnalyzer.h.
References fTopVolumeName.
|
inlinevirtual |
Definition at line 99 of file ROOTGeomAnalyzer.h.
References fDensWeight.
Referenced by GetWeight(), and Local2SI().
|
protectedvirtual |
Definition at line 1662 of file ROOTGeomAnalyzer.cxx.
Referenced by SwimOnce().
|
protected |
current list of max path-lengths
Definition at line 166 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputeMaxPathLengths(), GetMaxPathLengths(), Initialize(), Load(), MaxPathLengthsBoxMethod(), and MaxPathLengthsFluxMethod().
|
protected |
current list of path-lengths
Definition at line 165 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputePathLengths(), Initialize(), and Load().
|
protected |
current list of path-segments
Definition at line 173 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), ComputeMatLengths(), ComputePathLengthPDG(), GenerateVertex(), Initialize(), Load(), and SwimOnce().
|
protected |
current list of target nuclei
Definition at line 167 of file ROOTGeomAnalyzer.h.
Referenced by BuildListOfTargetNuclei(), CleanUp(), ComputePathLengths(), GetWeight(), Initialize(), and ListOfTargetNuclei().
|
protected |
current generated vertex
Definition at line 164 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), and Load().
|
protected |
Definition at line 185 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SetDebugFlags(), and SwimOnce().
|
protected |
conversion factor: input geometry density units -> kgr/meters^3
Definition at line 161 of file ROOTGeomAnalyzer.h.
Referenced by DensityUnits(), and SetDensityUnits().
|
protected |
if true pathlengths are weighted with density [def:true]
Definition at line 159 of file ROOTGeomAnalyzer.h.
Referenced by MaxPathLengthsBoxMethod(), SetWeightWithDensity(), and WeightWithDensity().
|
protected |
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
a flux objects that can be used to scan the max path lengths
Definition at line 158 of file ROOTGeomAnalyzer.h.
Referenced by ComputeMaxPathLengths(), MaxPathLengthsFluxMethod(), and SetScannerFlux().
|
protected |
Definition at line 178 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 177 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
input detector geometry
Definition at line 153 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 174 of file ROOTGeomAnalyzer.h.
Referenced by AdoptGeomVolSelector(), ComputeMatLengths(), ComputePathLengths(), Initialize(), and SwimOnce().
|
protected |
Definition at line 179 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 179 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 179 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
need to fill path segment "path"
Definition at line 172 of file ROOTGeomAnalyzer.h.
Referenced by GetKeepSegPath(), Initialize(), SetKeepSegPath(), and SwimOnce().
|
protected |
conversion factor: input geometry length units -> meters
Definition at line 160 of file ROOTGeomAnalyzer.h.
Referenced by LengthUnits(), and SetLengthUnits().
|
protected |
matrix connecting master coordinates to top volume coordinates
Definition at line 169 of file ROOTGeomAnalyzer.h.
Referenced by CleanUp(), Load(), Master2Top(), Master2TopDir(), SetTopVolName(), Top2Master(), and Top2MasterDir().
|
protected |
is fMasterToTop matrix the identity matrix?
Definition at line 170 of file ROOTGeomAnalyzer.h.
Referenced by ComputeMatLengths(), ComputePathLengths(), GenBoxRay(), GenerateVertex(), Initialize(), Load(), and SetTopVolName().
|
protected |
input selected material for vertex generation
Definition at line 152 of file ROOTGeomAnalyzer.h.
|
protected |
factor that can multiply the computed max path lengths
Definition at line 162 of file ROOTGeomAnalyzer.h.
Referenced by MaxPlSafetyFactor(), and SetMaxPlSafetyFactor().
|
protected |
norm of relative weights (<0 if explicit summing required)
Definition at line 163 of file ROOTGeomAnalyzer.h.
Referenced by MaxPathLengthsBoxMethod(), MixtureWeightsSum(), and SetMixtureWeightsSum().
|
protected |
Definition at line 184 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SwimOnce(), and ~ROOTGeomAnalyzer().
|
protected |
max errors in pathsegmentlist
Definition at line 184 of file ROOTGeomAnalyzer.h.
Referenced by GenerateVertex(), Initialize(), SwimOnce(), and ~ROOTGeomAnalyzer().
|
protected |
Definition at line 180 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
max path length scanner (flux method): particles in [def:10000]
Definition at line 157 of file ROOTGeomAnalyzer.h.
Referenced by ScannerNParticles(), and SetScannerNParticles().
|
protected |
max path length scanner (box method): points/surface [def:200]
Definition at line 155 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), ScannerNPoints(), and SetScannerNPoints().
|
protected |
max path length scanner (box method): rays/point [def:200]
Definition at line 156 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), ScannerNRays(), and SetScannerNRays().
|
protected |
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
top vol size/origin (top vol units)
Definition at line 181 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay().
|
protected |
top volume
Definition at line 168 of file ROOTGeomAnalyzer.h.
Referenced by GenBoxRay(), Initialize(), Load(), and SetTopVolName().
|
protected |
input top vol [other than TGeoManager::GetTopVolume()]
Definition at line 154 of file ROOTGeomAnalyzer.h.
Referenced by Initialize(), SetTopVolName(), and TopVolName().