111 {
112 if ( !isInitialised )
113 {
114 theParticle = part;
115 theBaseParticle = bpart;
116
117 mass = theParticle->GetPDGMass();
118 SetSecondaryParticle( G4Electron::Electron() );
119
120 flucModel = new G4UniversalFluctuation();
121
122 G4VEmModel* em = new G4BraggModel();
123 em->SetLowEnergyLimit( 0.1 * keV );
124 em->SetHighEnergyLimit( 0.2 * MeV );
125 AddEmModel( 1, em, flucModel );
126 G4VEmModel* em1 = new G4BetheBlochModel();
127 em1->SetLowEnergyLimit( 0.2 * MeV );
128 em1->SetHighEnergyLimit( 1.0 * GeV );
129 AddEmModel( 2, em1, flucModel );
130 G4VEmModel* em2 = new G4MuBetheBlochModel();
131 em2->SetLowEnergyLimit( 1.0 * GeV );
132 em2->SetHighEnergyLimit( 100.0 * TeV );
133 AddEmModel( 3, em2, flucModel );
134 SetStepFunction( 0.2, 1.0 * mm );
135 ratio = electron_mass_c2 / mass;
136 isInitialised = true;
137 }
138}