91   if(idx < 0 || idx >= nShells) {
 
   97     for(idx=0; idx<nShells; ++idx) {
 
  103     for(idx=0; idx<nShells; ++idx) {
 
  104       if(sum <= 
prob[idx]) { 
break; }
 
  122     G4double ePotEnergy = bindingEnergy*(1.0 + 
x);
 
  123     G4double e = kinEnergyFinal + ePotEnergy + electron_mass_c2;
 
  124     G4double p = sqrt((e + electron_mass_c2)*(e - electron_mass_c2));
 
  129       totEnergy += ePotEnergy;
 
  130       totMomentum = sqrt((totEnergy + electron_mass_c2)
 
  131                          *(totEnergy - electron_mass_c2));
 
  134     G4double eTotEnergy = eKinEnergy + electron_mass_c2;
 
  135     G4double eTotMomentum = sqrt(eKinEnergy*(eTotEnergy + electron_mass_c2));
 
  137     G4double sintet = sqrt((1 - costet)*(1 + costet));
 
  152       if(0.0 ==  bindingEnergy) { isOK = 
true; }
 
  156     G4double x0 = p*(totMomentum + eTotMomentum*costet);
 
  164       G4double x1 = p*eTotMomentum*sintet;
 
  165       G4double x2 = totEnergy*(eTotEnergy - e) - e*eTotEnergy 
 
  166         - totMomentum*eTotMomentum*costet + electron_mass_c2*electron_mass_c2;
 
  168       if(std::fabs(y) <= 1.0) { 
 
  169         cost = -(x2 + x1*sqrt(1. - y*y))/x0; 
 
  170         if(std::fabs(cost) <= 1.0) { isOK = 
true; }
 
  187   G4double sint = sqrt((1 - cost)*(1 + cost));
 
G4DeltaAngle(const G4String &name="")
 
CLHEP::Hep3Vector G4ThreeVector
 
G4double GetTotalEnergy() const 
 
const G4ParticleDefinition * fElectron
 
G4double GetTotalMomentum() const 
 
static G4double GetBindingEnergy(G4int Z, G4int SubshellNb)
 
const G4ThreeVector & GetMomentumDirection() const 
 
static const double twopi
 
const G4ParticleDefinition * GetParticleDefinition() const 
 
void PrintGeneratorInformation() const 
 
G4double G4Log(G4double x)
 
const G4double x[NPOINTSGL]
 
std::vector< G4double > prob
 
static G4int GetNumberOfElectrons(G4int Z, G4int SubshellNb)
 
static G4Electron * Electron()
 
virtual G4ThreeVector & SampleDirection(const G4DynamicParticle *dp, G4double kinEnergyFinal, G4int Z, const G4Material *mat=0)
 
G4ThreeVector fLocalDirection
 
G4double bindingEnergy(G4int A, G4int Z)
 
virtual G4ThreeVector & SampleDirectionForShell(const G4DynamicParticle *dp, G4double kinEnergyFinal, G4int Z, G4int shellIdx, const G4Material *mat=0)
 
static G4int GetNumberOfShells(G4int Z)