117 const G4ParticleDefinition* bpart ) {
118 if ( isInitialised )
return;
122 if ( part == bpart || part == G4Proton::Proton() ) theBaseParticle = 0;
123 else if ( bpart == 0 ) theBaseParticle = G4Proton::Proton();
124 else theBaseParticle = bpart;
126 SetBaseParticle( theBaseParticle );
127 SetSecondaryParticle( G4Electron::Electron() );
128 mass = theParticle->GetPDGMass();
129 ratio = electron_mass_c2 / mass;
131 G4VEmModel* em =
new G4BraggModel();
132 em->SetLowEnergyLimit( 0.1 * keV );
133 eth = 2.0 * MeV * mass / proton_mass_c2;
134 em->SetHighEnergyLimit( eth );
136 flucModel =
new G4UniversalFluctuation();
138 AddEmModel( 1, em, flucModel );
139 G4VEmModel* em1 =
new G4BetheBlochModel();
140 em1->SetLowEnergyLimit( eth );
141 em1->SetHighEnergyLimit( 100.0 * TeV );
142 AddEmModel( 2, em1, flucModel );
144 SetStepFunction( 0.2, 1.0 * mm );
146 isInitialised =
true;