LArSoft  v07_13_02
Liquid Argon Software toolkit - http://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 50 of file G4ThermalElectron.hh.

Constructor & Destructor Documentation

G4ThermalElectron::G4ThermalElectron ( )
inlineprivate

Definition at line 54 of file G4ThermalElectron.hh.

54 {}
G4ThermalElectron::~G4ThermalElectron ( )
inlineprivate

Definition at line 55 of file G4ThermalElectron.hh.

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

55 {}

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  {
56  // create particle
57  //
58  // Arguments for constructor are as follows
59  // name mass width charge
60  // 2*spin parity C-conjugation
61  // 2*Isospin 2*Isospin3 G-parity
62  // type lepton number baryon number PDG encoding
63  // stable lifetime decay table
64  // shortlived subType anti_encoding
65 
66  // use constants in CLHEP
67  // static const double CLHEP::electron_mass_c2 = 0.51099906 * MeV;
68 
69  anInstance = new G4ParticleDefinition(
70  name, CLHEP::electron_mass_c2, 0.0*CLHEP::MeV, -1.*CLHEP::eplus,
71  1, 0, 0,
72  0, 0, 0,
73  "lepton", 1, 0, 11,
74  true, -1.0, NULL,
75  false, "e"
76  );
77  // Bohr Magnetron
78  G4double muB = -0.5*CLHEP::eplus*CLHEP::hbar_Planck/(CLHEP::electron_mass_c2/CLHEP::c_squared) ;
79 
80  anInstance->SetPDGMagneticMoment( muB * 2.* 1.0011596521859 );
81 
82  }
83  theInstance = reinterpret_cast<G4ThermalElectron*>(anInstance);
84  return theInstance;
85 }
static G4ThermalElectron * theInstance
G4ThermalElectron * G4ThermalElectron::ThermalElectron ( )
static

Definition at line 92 of file G4ThermalElectron.cxx.

References Definition().

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

93 {
94  return Definition();
95 }
static G4ThermalElectron * Definition()
G4ThermalElectron * G4ThermalElectron::ThermalElectronDefinition ( )
static

Definition at line 87 of file G4ThermalElectron.cxx.

References Definition().

Referenced by ~G4ThermalElectron().

88 {
89  return Definition();
90 }
static G4ThermalElectron * Definition()

Member Data Documentation

G4ThermalElectron * G4ThermalElectron::theInstance = 0
staticprivate

Definition at line 53 of file G4ThermalElectron.hh.

Referenced by Definition().


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