LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
LArG4_module.cc File Reference

Use Geant4 to run the LArSoft detector simulation. More...

#include "nutools/G4Base/G4Helper.h"
#include "nutools/G4Base/ConvertMCTruthToG4.h"
#include <sstream>
#include <vector>
#include <map>
#include <set>
#include <iostream>
#include <sys/stat.h>
#include "art/Framework/Core/EDProducer.h"
#include "art/Framework/Core/ModuleMacros.h"
#include "art/Framework/Principal/Event.h"
#include "fhiclcpp/ParameterSet.h"
#include "art/Framework/Principal/Handle.h"
#include "art/Framework/Services/Registry/ServiceHandle.h"
#include "art/Framework/Services/Optional/RandomNumberGenerator.h"
#include "art/Persistency/Common/PtrMaker.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include "canvas/Persistency/Common/Ptr.h"
#include "canvas/Persistency/Common/Assns.h"
#include "canvas/Utilities/Exception.h"
#include "cetlib_except/exception.h"
#include "cetlib/search_path.h"
#include "nutools/RandomUtils/NuRandomService.h"
#include "larsim/LArG4/LArVoxelReadoutGeometry.h"
#include "larsim/LArG4/PhysicsList.h"
#include "larsim/LArG4/ParticleListAction.h"
#include "larsim/LArG4/G4BadIdeaAction.h"
#include "larsim/LArG4/IonizationAndScintillationAction.h"
#include "larsim/LArG4/OpDetSensitiveDetector.h"
#include "larsim/LArG4/OpDetReadoutGeometry.h"
#include "larsim/LArG4/LArStackingAction.h"
#include "larsim/LArG4/LArVoxelReadout.h"
#include "larsim/LArG4/MaterialPropertyLoader.h"
#include "larsim/LArG4/OpDetPhotonTable.h"
#include "larsim/LArG4/AuxDetReadoutGeometry.h"
#include "larsim/LArG4/AuxDetReadout.h"
#include "larcorealg/CoreUtils/ParticleFilters.h"
#include "larsim/PhotonPropagation/PhotonVisibilityService.h"
#include "lardataalg/MCDumpers/MCDumpers.h"
#include "larsim/Simulation/LArG4Parameters.h"
#include "nusimdata/SimulationBase/MCTruth.h"
#include "nutools/ParticleNavigation/ParticleList.h"
#include "lardataobj/Simulation/SimPhotons.h"
#include "lardataobj/Simulation/SimChannel.h"
#include "lardataobj/Simulation/OpDetBacktrackerRecord.h"
#include "lardataobj/Simulation/AuxDetSimChannel.h"
#include "lardataobj/Simulation/GeneratedParticleInfo.h"
#include "lardataobj/Simulation/sim.h"
#include "larcore/Geometry/Geometry.h"
#include "nutools/G4Base/DetectorConstruction.h"
#include "nutools/G4Base/UserActionManager.h"
#include "Geant4/G4RunManager.hh"
#include "Geant4/G4UImanager.hh"
#include "Geant4/G4VUserDetectorConstruction.hh"
#include "Geant4/G4VUserPrimaryGeneratorAction.hh"
#include "Geant4/G4VUserPhysicsList.hh"
#include "Geant4/G4UserRunAction.hh"
#include "Geant4/G4UserEventAction.hh"
#include "Geant4/G4UserTrackingAction.hh"
#include "Geant4/G4UserSteppingAction.hh"
#include "Geant4/G4UserStackingAction.hh"
#include "Geant4/G4VisExecutive.hh"
#include "Geant4/G4SDManager.hh"
#include "Geant4/G4LogicalVolumeStore.hh"
#include "Geant4/Randomize.hh"
#include "Geant4/G4VSensitiveDetector.hh"
#include "Geant4/globals.hh"
#include "TGeoManager.h"
#include "lardataobj/Simulation/SimEnergyDeposit.h"

Go to the source code of this file.

Classes

class  larg4::LArG4
 Runs Geant4 simulation and propagation of electrons and photons to readout. More...
 

Namespaces

 larg4
 Geant4 interface.
 

Macros

#define LARG4_LARG4_H   1
 

Detailed Description

Use Geant4 to run the LArSoft detector simulation.

Author
selig.nosp@m.man@.nosp@m.nevis.nosp@m..col.nosp@m.umbia.nosp@m..edu

Definition in file LArG4_module.cc.

Macro Definition Documentation

#define LARG4_LARG4_H   1

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.

Definition at line 22 of file LArG4_module.cc.