LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
NestAlg.h
Go to the documentation of this file.
1 #ifndef NESTALG_H
2 #define NESTALG_H
3 
4 #include "Geant4/globals.hh"
5 #include "Geant4/G4Step.hh"
6 #include "Geant4/G4Track.hh"
7 #include "Geant4/G4VParticleChange.hh"
8 
9 // forward declarations
10 namespace CLHEP { class HepRandomEngine; }
11 
12 class NestAlg {
13 
14  public :
15 
16  NestAlg(CLHEP::HepRandomEngine& engine);
17  NestAlg(double yieldFactor, CLHEP::HepRandomEngine& engine);
18 
19  const G4VParticleChange& CalculateIonizationAndScintillation(G4Track const& aTrack,
20  G4Step const& aStep);
21 
22  void SetScintillationYieldFactor(double const& yf) { fYieldFactor = yf; }
23  void SetScintillationExcitationRatio(double const& er) { fExcitationRatio = er; }
24  int NumberScintillationPhotons() const { return fNumScintPhotons; }
25  int NumberIonizationElectrons() const { return fNumIonElectrons; }
26  double EnergyDeposition() const { return fEnergyDep; }
27 
28  private:
29 
30  G4double GetGasElectronDriftSpeed(G4double efieldinput,G4double density);
31  G4double GetLiquidElectronDriftSpeed(double T, double F, G4bool M, G4int Z);
32  G4double CalculateElectronLET ( G4double E, G4int Z );
33  G4double UnivScreenFunc ( G4double E, G4double Z, G4double A );
34  G4int BinomFluct(G4int N0, G4double prob); //function for doing fluctuations
35  void InitMatPropValues ( G4MaterialPropertiesTable* nobleElementMat, int z );
36 
37  double fYieldFactor;
39  int fNumScintPhotons;
42  double fEnergyDep;
43  G4VParticleChange fParticleChange;
44  std::map<int,bool> fElementPropInit;
45  CLHEP::HepRandomEngine& fEngine;
48 };
49 
50 #endif //NESTALG_H
int NumberScintillationPhotons() const
Definition: NestAlg.h:24
Float_t E
Definition: plot.C:23
Double_t z
Definition: plot.C:279
void SetScintillationYieldFactor(double const &yf)
Definition: NestAlg.h:22
double fYieldFactor
turns scint. on/off
Definition: NestAlg.h:37
G4VParticleChange fParticleChange
pointer to G4VParticleChange
Definition: NestAlg.h:43
int fNumIonElectrons
number of ionization electrons produced by step
Definition: NestAlg.h:41
Float_t Z
Definition: plot.C:39
int NumberIonizationElectrons() const
Definition: NestAlg.h:25
G4double UnivScreenFunc(G4double E, G4double Z, G4double A)
Definition: NestAlg.cxx:1254
std::map< int, bool > fElementPropInit
Definition: NestAlg.h:44
void SetScintillationExcitationRatio(double const &er)
Definition: NestAlg.h:23
double EnergyDeposition() const
Definition: NestAlg.h:26
double fExcitationRatio
Definition: NestAlg.h:38
double fEnergyDep
energy deposited by the step
Definition: NestAlg.h:42