LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
larg4 Namespace Reference

Geant4 interface. More...

Classes

class  AllPhysicsLists
 
class  AuxDetReadout
 
class  AuxDetReadoutGeometry
 
class  AuxDetSD
 
class  CheckAuxDetHit
 
class  CheckMCParticle
 
class  CheckSimEnergyDeposit
 
class  CustomPhysicsFactory
 
class  CustomPhysicsFactory< OpticalPhysics >
 
class  CustomPhysicsFactoryBase
 
class  CustomPhysicsTable
 
class  FastOpticalPhysics
 
class  G4BadIdeaAction
 
class  G4PVPlacementWithID
 A G4PVPlacement with an additional identificator. More...
 
class  IonAndScint
 
class  IonizationAndScintillation
 
class  IonizationAndScintillationAction
 
class  ISCalc
 
class  ISCalcAna
 
class  ISCalcCorrelated
 
struct  ISCalcData
 
class  ISCalcNESTLAr
 
class  ISCalcSeparate
 
class  ISCalculation
 
class  ISCalculationCorrelated
 
class  ISCalculationNEST
 
class  ISCalculationSeparate
 
class  ISTPC
 
class  LArG4
 Runs Geant4 simulation and propagation of electrons and photons to readout. More...
 
class  LArG4Ana
 
class  LArG4DetectorService
 
class  larg4Main
 
class  LArVoxelReadout
 Transports energy depositions from GEANT4 to TPC channels. More...
 
class  LArVoxelReadoutGeometry
 
class  MaterialPropertyLoader
 Stores material properties and sends them to GEANT4 geometry. More...
 
class  MCTruthEventActionService
 
class  ModularPhysicsList
 
class  MuNuclearSplittingProcess
 
class  MuNuclearSplittingProcessXSecBias
 
class  OpBoundaryProcessSimple
 Discrete process for reflection and diffusion at optical interfaces. More...
 
class  OpDetLookup
 
class  OpDetPhotonTable
 
class  OpDetReadoutGeometry
 
class  OpDetSensitiveDetector
 
class  OpFastScintillation
 
class  OpParamAction
 
class  OpParamSD
 
class  OpticalPhysics
 
class  OverlaidWireplanesAction
 
class  ParticleListAction
 
class  ParticleListActionService
 
class  SimEnergyDepositSD
 
class  SimpleWireplaneAction
 
class  TConfigurablePhysicsList
 
struct  TPCID_t
 Simple structure holding a TPC and cryostat number. More...
 
class  TransparentPlaneAction
 
class  UpdateDaughterInformation
 
class  VisualizationAction
 

Typedefs

using ConfigurablePhysicsList = TConfigurablePhysicsList< G4VModularPhysicsList >
 
typedef G4PVPlacementWithID< TPCID_tG4PVPlacementInTPC
 A physical volume with a TPC ID. More...
 
using PhysicsList = TConfigurablePhysicsList< ModularPhysicsList >
 

Enumerations

enum  OpBoundaryProcessSimpleStatus {
  Undefined, NotAtBoundary, SimpleAbsorbedNoRefl, SimpleAbsorbed,
  SimpleDiffuse, SimpleSpecular, StepTooSmall, NoRINDEX
}
 

Functions

template<typename TReal >
double dist (const TReal *x, const TReal *y, const unsigned int dimension)
 
template<typename TVector3 >
double dist (const std::array< double, 3 > x, const TVector3 y, const unsigned int dimension, const unsigned int start)
 
template<typename TReal >
static constexpr bool isApproximatelyEqual (TReal a, TReal b, TReal tolerance=std::numeric_limits< TReal >::epsilon())
 
template<typename TReal >
static constexpr bool isApproximatelyZero (TReal a, TReal tolerance=std::numeric_limits< TReal >::epsilon())
 
template<typename TReal >
static constexpr bool isDefinitelyLessThan (TReal a, TReal b, TReal tolerance=std::numeric_limits< TReal >::epsilon())
 
template<typename TReal >
static constexpr bool isDefinitelyGreaterThan (TReal a, TReal b, TReal tolerance=std::numeric_limits< TReal >::epsilon())
 

Variables

CustomPhysicsTableTheCustomPhysicsTable {nullptr}
 
static IonizationAndScintillationgInstance = 0
 
OpDetLookupTheOpDetLookup
 
OpDetPhotonTableTheOpDetPhotonTable
 

Detailed Description

Geant4 interface.

Framework includes.

Author
bjpjo.nosp@m.nes@.nosp@m.mit.e.nosp@m.du
selig.nosp@m.man@.nosp@m.nevis.nosp@m..col.nosp@m.umbia.nosp@m..edu

This a module. It has the following functions:

  • Initialize Geant4 physics, detector geometry, and other processing.
  • Accept sim::MCTruth objects from the MC branch of the FMWK Event structure.
  • Pass the primary particles to the Geant4 simulation to calculate "truth" information for the detector response.
  • Pass the truth information to the DetSim branch of the FMWK event.

Geant4 interface

Author
selig.nosp@m.man@.nosp@m.nevis.nosp@m..col.nosp@m.umbia.nosp@m..edu VisualizationAction.cc 19-Mar-2002 Bill Seligman

Use UserAction to implement the standard visualization control for a typical Geant4 job. Everything in this class comes from the Geant4 examples; the only difference is that it's put into an UserAction class.

25-Feb-2009 WGS: Revised for FMWK/LArSoft

Typedef Documentation

using larg4::ConfigurablePhysicsList = typedef TConfigurablePhysicsList<G4VModularPhysicsList>

Definition at line 47 of file ConfigurablePhysicsList.hh.

A physical volume with a TPC ID.

Definition at line 120 of file LArVoxelReadout.h.

This type alias is what defines the name "larg4::PhysicsList" in any class that includes this header.

Definition at line 83 of file PhysicsList.h.

Enumeration Type Documentation

Function Documentation

template<typename TReal >
double larg4::dist ( const TReal *  x,
const TReal *  y,
const unsigned int  dimension 
)
inline

Definition at line 414 of file OpFastScintillation.hh.

References d, and geo::vect::details::dimension().

Referenced by geoalgo::GeoAlgo::_RemainingPoints_(), geoalgo::Vector::_SqDist_(), geoalgo::GeoAlgo::_SqDist_(), pma::ProjectionMatchingAlg::alignTracks(), vertex::AggregateVertexAna::analyze(), ems::MultiEMShowers::analyze(), lar_content::ThreeDReclusteringAlgorithm::BuildNewTwoDClusters(), trkf::KalmanFilterAlg::buildTrack(), ShowerRecoTools::ShowerTrackTrajToSpacePoint::CalculateElement(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), trkf::SpacePointAlg::compatible(), trkf::SeedFinderAlgorithm::ConsolidateSeed(), ems::MultiEMShowers::convCluster(), phot::CreateHybridLibrary::CreateHybridLibrary(), pma::Track3D::Dist2(), cluster::HoughTransform::DoAddPointReturnMax(), trkf::TrackKalmanFitter::doFitWork(), trkf::Track3DKalmanSPS::dQdxCalc(), genf::GFMaterialEffects::effects(), trkf::KalmanFilterAlg::extendTrack(), genf::RKTrackRep::Extrap(), genf::SlTrackRep::extrapolate(), trkf::KGTrack::fillTrack(), phot::PhotonLibraryHybrid::GetCount(), ems::MultiEMShowers::getMinDist(), pma::Track3D::GetNearestElement(), pma::Track3D::GetNearestTrkInTree(), trkf::Geometric3DVertexFitter::getParsCovsOnPlane(), shower::TCShowerAlg::goodHit(), pma::Track3D::HasTPC(), genf::GFSpacepointHitPolicy::hitCov(), trkf::SurfXYZPlane::isEqual(), ems::EMShower3D::Link(), ems::EMShower3D::LinkCandidates(), trkf::KHit< N >::predict(), genf::GFKalman::processHit(), sim::MCTrackRecoAlg::Reconstruct(), sim::MCShowerRecoAlg::Reconstruct(), showerreco::ShowerRecoAlg::RecoOneShower(), ems::EMShower3D::Reoptimize(), genf::GFAbsRecoHit::residualVector(), util::GeometryUtilities::SelectPolygonHitList(), trkf::SpacePointAlg::separation(), nnet::TrainingDataAlg::setDataEventData(), pma::Track3D::SetMaxHitsPerSeg(), cmtool::CBAlgoPolyShortestDist::SetMinDistSquared(), cmtool::CBAlgoMergeTinyWithBig::SetMinDistSquared(), trkf::KalmanFilterAlg::smoothTrack(), trkf::KHitContainer::sort(), pma::Track3D::TestHits(), simb::MCTrajectory::TotalLength(), lar::util::TrackProjectedLength(), trkf::KalmanFilterAlg::updateMomentum(), trkf::Propagator::vec_prop(), larg4::OpFastScintillation::VISHits(), and larg4::OpFastScintillation::VUVHits().

415  {
416  double d = 0.;
417  for (unsigned int p = 0; p < dimension; ++p) {
418  d += (*(x + p) - *(y + p)) * (*(x + p) - *(y + p));
419  }
420  return std::sqrt(d);
421  }
Float_t x
Definition: compare.C:6
Float_t y
Definition: compare.C:6
constexpr unsigned int dimension()
Float_t d
Definition: plot.C:235
template<typename TVector3 >
double larg4::dist ( const std::array< double, 3 >  x,
const TVector3  y,
const unsigned int  dimension,
const unsigned int  start 
)
inline

Definition at line 424 of file OpFastScintillation.hh.

References d, and geo::vect::details::dimension().

428  {
429  double d = 0.;
430  for (unsigned int p = start; p < dimension; ++p) {
431  d += (x[p] - y[p]) * (x[p] - y[p]);
432  }
433  return std::sqrt(d);
434  }
Float_t y
Definition: compare.C:6
constexpr unsigned int dimension()
Float_t d
Definition: plot.C:235
template<typename TReal >
static constexpr bool larg4::isApproximatelyEqual ( TReal  a,
TReal  b,
TReal  tolerance = std::numeric_limits<TReal>::epsilon() 
)
inlinestatic

Definition at line 440 of file OpFastScintillation.hh.

Referenced by larg4::OpFastScintillation::Disk_SolidAngle().

441  {
442  TReal diff = std::fabs(a - b);
443  if (diff <= tolerance) return true;
444  if (diff < std::fmax(std::fabs(a), std::fabs(b)) * tolerance) return true;
445  return false;
446  }
template<typename TReal >
static constexpr bool larg4::isApproximatelyZero ( TReal  a,
TReal  tolerance = std::numeric_limits<TReal>::epsilon() 
)
inlinestatic

Definition at line 451 of file OpFastScintillation.hh.

Referenced by larg4::OpFastScintillation::Disk_SolidAngle(), and larg4::OpFastScintillation::Rectangle_SolidAngle().

454  {
455  if (std::fabs(a) <= tolerance) return true;
456  return false;
457  }
template<typename TReal >
static constexpr bool larg4::isDefinitelyGreaterThan ( TReal  a,
TReal  b,
TReal  tolerance = std::numeric_limits<TReal>::epsilon() 
)
inlinestatic

Definition at line 473 of file OpFastScintillation.hh.

Referenced by larg4::OpFastScintillation::Disk_SolidAngle(), and larg4::OpFastScintillation::Rectangle_SolidAngle().

474  {
475  TReal diff = a - b;
476  if (diff > tolerance) return true;
477  if (diff > std::fmax(std::fabs(a), std::fabs(b)) * tolerance) return true;
478  return false;
479  }
template<typename TReal >
static constexpr bool larg4::isDefinitelyLessThan ( TReal  a,
TReal  b,
TReal  tolerance = std::numeric_limits<TReal>::epsilon() 
)
inlinestatic

Definition at line 463 of file OpFastScintillation.hh.

Referenced by larg4::OpFastScintillation::Disk_SolidAngle().

464  {
465  TReal diff = a - b;
466  if (diff < tolerance) return true;
467  if (diff < std::fmax(std::fabs(a), std::fabs(b)) * tolerance) return true;
468  return false;
469  }

Variable Documentation

OpDetLookup* larg4::TheOpDetLookup
OpDetPhotonTable* larg4::TheOpDetPhotonTable

Definition at line 20 of file OpDetPhotonTable.cxx.

Referenced by larg4::OpDetPhotonTable::Instance().