LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
G4ThermalElectron Class Reference

#include "G4ThermalElectron.hh"

Inheritance diagram for G4ThermalElectron:

Static Public Member Functions

static G4ThermalElectronDefinition ()
 
static G4ThermalElectronThermalElectronDefinition ()
 
static G4ThermalElectronThermalElectron ()
 

Private Member Functions

 G4ThermalElectron ()
 
 ~G4ThermalElectron ()
 

Static Private Attributes

static G4ThermalElectrontheInstance = 0
 

Detailed Description

Definition at line 48 of file G4ThermalElectron.hh.

Constructor & Destructor Documentation

G4ThermalElectron::G4ThermalElectron ( )
inlineprivate

Definition at line 51 of file G4ThermalElectron.hh.

51 {}
G4ThermalElectron::~G4ThermalElectron ( )
inlineprivate

Definition at line 52 of file G4ThermalElectron.hh.

References Definition(), ThermalElectron(), and ThermalElectronDefinition().

52 {}

Member Function Documentation

G4ThermalElectron * G4ThermalElectron::Definition ( )
static

Definition at line 47 of file G4ThermalElectron.cxx.

References theInstance.

Referenced by ThermalElectron(), ThermalElectronDefinition(), and ~G4ThermalElectron().

48 {
49  if (theInstance != 0) return theInstance;
50  const G4String name = "thermalelectron";
51  // search in particle table]
52  G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
53  G4ParticleDefinition* anInstance = pTable->FindParticle(name);
54  if (anInstance == 0) {
55  // create particle
56  //
57  // Arguments for constructor are as follows
58  // name mass width charge
59  // 2*spin parity C-conjugation
60  // 2*Isospin 2*Isospin3 G-parity
61  // type lepton number baryon number PDG encoding
62  // stable lifetime decay table
63  // shortlived subType anti_encoding
64 
65  // use constants in CLHEP
66  // static const double CLHEP::electron_mass_c2 = 0.51099906 * MeV;
67 
68  anInstance = new G4ParticleDefinition(name,
69  CLHEP::electron_mass_c2,
70  0.0 * CLHEP::MeV,
71  -1. * CLHEP::eplus,
72  1,
73  0,
74  0,
75  0,
76  0,
77  0,
78  "lepton",
79  1,
80  0,
81  11,
82  true,
83  -1.0,
84  NULL,
85  false,
86  "e");
87  // Bohr Magnetron
88  G4double muB =
89  -0.5 * CLHEP::eplus * CLHEP::hbar_Planck / (CLHEP::electron_mass_c2 / CLHEP::c_squared);
90 
91  anInstance->SetPDGMagneticMoment(muB * 2. * 1.0011596521859);
92  }
93  theInstance = reinterpret_cast<G4ThermalElectron*>(anInstance);
94  return theInstance;
95 }
static G4ThermalElectron * theInstance
G4ThermalElectron * G4ThermalElectron::ThermalElectron ( )
static

Definition at line 102 of file G4ThermalElectron.cxx.

References Definition().

Referenced by NestAlg::CalculateIonizationAndScintillation(), and ~G4ThermalElectron().

103 {
104  return Definition();
105 }
static G4ThermalElectron * Definition()
G4ThermalElectron * G4ThermalElectron::ThermalElectronDefinition ( )
static

Definition at line 97 of file G4ThermalElectron.cxx.

References Definition().

Referenced by ~G4ThermalElectron().

98 {
99  return Definition();
100 }
static G4ThermalElectron * Definition()

Member Data Documentation

G4ThermalElectron * G4ThermalElectron::theInstance = 0
staticprivate

Definition at line 50 of file G4ThermalElectron.hh.

Referenced by Definition().


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