Public Member Functions | Private Attributes | List of all members
larg4::ISCalculationNEST Class Reference

#include <ISCalculationNEST.h>

Inheritance diagram for larg4::ISCalculationNEST:
larg4::ISCalculation

Public Member Functions

 ISCalculationNEST (CLHEP::HepRandomEngine &engine)
 
void Reset ()
 
void CalculateIonizationAndScintillation (const G4Step *step)
 
double StepSizeLimit () const
 
- Public Member Functions inherited from larg4::ISCalculation
virtual ~ISCalculation ()=default
 
double EnergyDeposit () const
 
double NumberIonizationElectrons () const
 
double NumberScintillationPhotons () const
 
double VisibleEnergyDeposit () const
 
double EFieldAtStep (double fEfield, const G4Step *step) const
 

Private Attributes

NestAlg fNest
 the fast optical simulation process More...
 
double fStepSize
 maximum step to take More...
 

Additional Inherited Members

- Protected Attributes inherited from larg4::ISCalculation
double fEnergyDeposit
 total energy deposited in the step More...
 
double fNumIonElectrons
 number of ionization electrons for this step More...
 
double fNumScintPhotons
 number of scintillation photons for this step More...
 
double fVisibleEnergyDeposition
 

Detailed Description

Definition at line 22 of file ISCalculationNEST.h.

Constructor & Destructor Documentation

larg4::ISCalculationNEST::ISCalculationNEST ( CLHEP::HepRandomEngine &  engine)

Definition at line 19 of file ISCalculationNEST.cxx.

20  : // \todo should ideally make the yield factor passed to the NestAlg ctor a parameter
21  fNest(1., engine)
22  {
23  // Set the step size to small value if NEST is chosen, per Matthew Szydagis,
24  // "because without delta rays, the yields are wrong. The ICARUS model that is
25  // in LArSoft uses a fudge factor to compensate, but NEST is "purer" -- no
26  // fudge factor. "
28  }
double fStepSize
maximum step to take
micrometer_as<> micrometer
Type of space stored in micrometers, in double precision.
Definition: spacetime.h:468
NestAlg fNest
the fast optical simulation process

Member Function Documentation

void larg4::ISCalculationNEST::CalculateIonizationAndScintillation ( const G4Step *  step)
virtual

Implements larg4::ISCalculation.

Definition at line 42 of file ISCalculationNEST.cxx.

43  {
44  // get a const representation of the track for this step
45  const G4Track track(*(step->GetTrack()));
46 
48 
49  // compare the energy deposition of this step to what is in the fNest object
50  if (fNest.EnergyDeposition() != step->GetTotalEnergyDeposit() / CLHEP::MeV)
51  mf::LogWarning("ISCalculationNest")
52  << "NEST and G4 step depositions do not agree!\n"
53  << fNest.EnergyDeposition() << " vs " << step->GetTotalEnergyDeposit() / CLHEP::MeV;
54 
55  // Nest uses Geant units, LArSoft assumes energy is in units of MeV here
59  fVisibleEnergyDeposition = 0.; //Not implimented for NEST.
60  }
int NumberScintillationPhotons() const
Definition: NestAlg.h:26
static constexpr double MeV
Definition: Units.h:129
const G4VParticleChange & CalculateIonizationAndScintillation(G4Track const &aTrack, G4Step const &aStep)
Definition: NestAlg.cxx:81
int NumberIonizationElectrons() const
Definition: NestAlg.h:27
double fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:49
double fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:50
double fVisibleEnergyDeposition
Definition: ISCalculation.h:51
double EnergyDeposition() const
Definition: NestAlg.h:28
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:48
NestAlg fNest
the fast optical simulation process
void larg4::ISCalculationNEST::Reset ( void  )
virtual

Implements larg4::ISCalculation.

Definition at line 32 of file ISCalculationNEST.cxx.

33  {
34  fEnergyDeposit = 0.;
35  fNumIonElectrons = 0.;
36  fNumScintPhotons = 0.;
38  }
double fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:49
double fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:50
double fVisibleEnergyDeposition
Definition: ISCalculation.h:51
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:48
double larg4::ISCalculationNEST::StepSizeLimit ( ) const
inlinevirtual

Implements larg4::ISCalculation.

Definition at line 29 of file ISCalculationNEST.h.

30  {
31  return fStepSize;
32  }
double fStepSize
maximum step to take

Member Data Documentation

NestAlg larg4::ISCalculationNEST::fNest
private

the fast optical simulation process

Definition at line 35 of file ISCalculationNEST.h.

double larg4::ISCalculationNEST::fStepSize
private

maximum step to take

Definition at line 36 of file ISCalculationNEST.h.


The documentation for this class was generated from the following files: