397     G4cout << 
"Calling SampleSecondaries() of G4MicroElecInelasticModel" << 
G4endl;
   407   G4String nameLocal2 = particleName ;
   414     nameLocal2 = 
"proton" ;
   417   std::map< G4String,G4double,std::less<G4String> >::iterator pos1;
   422     lowLim = pos1->second;
   425   std::map< G4String,G4double,std::less<G4String> >::iterator pos2;
   430     highLim = pos2->second;
   433   if (k >= lowLim && k < highLim)
   436     G4double totalEnergy = ekin + particleMass;
   437     G4double pSquare = ekin * (totalEnergy + particleMass);
   438     G4double totalMomentum = std::sqrt(pSquare);
   446       G4cout << 
"Shell: " << Shell << 
", energy: " << bindingEnergy/
eV << 
G4endl;
   451     G4int secNumberInit = 0;  
   452     G4int secNumberFinal = 0; 
   470       secNumberInit = fvect->size();
   472       secNumberFinal = fvect->size();
   480       G4cout << 
"Shell: " << Shell << 
" Kin. energy (eV)=" << k/
eV   481       << 
" Sec. energy (eV)=" << secondaryKinetic/
eV << 
G4endl;
   493     G4double finalPx = totalMomentum*primaryDirection.
x() - deltaTotalMomentum*deltaDirection.
x();
   494     G4double finalPy = totalMomentum*primaryDirection.
y() - deltaTotalMomentum*deltaDirection.
y();
   495     G4double finalPz = totalMomentum*primaryDirection.
z() - deltaTotalMomentum*deltaDirection.
z();
   496     G4double finalMomentum = std::sqrt(finalPx*finalPx + finalPy*finalPy + finalPz*finalPz);
   497     finalPx /= finalMomentum;
   498     finalPy /= finalMomentum;
   499     finalPz /= finalMomentum;
   502     direction.
set(finalPx,finalPy,finalPz);
   510     for (
G4int j=secNumberInit; j < secNumberFinal; j++) {
   511       deexSecEnergy = deexSecEnergy + (*fvect)[j]->GetKineticEnergy();}
   517     fvect->push_back(dp);
 void set(double x, double y, double z)
 
const G4Material * GetMaterial() const
 
G4MicroElecSiStructure SiStructure
 
static G4Proton * ProtonDefinition()
 
G4VEmAngularDistribution * GetAngularDistribution()
 
G4double Energy(G4int level)
 
virtual G4ThreeVector & SampleDirectionForShell(const G4DynamicParticle *dp, G4double finalTotalEnergy, G4int Z, G4int shellID, const G4Material *)
 
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
 
G4double GetKineticEnergy() const
 
G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell)
 
const G4String & GetParticleName() const
 
G4GLOB_DLL std::ostream G4cout
 
G4int RandomSelect(G4double energy, const G4String &particle)
 
G4ParticleChangeForGamma * fParticleChangeForGamma
 
std::map< G4String, G4double, std::less< G4String > > highEnergyLimit
 
const G4ThreeVector & GetMomentumDirection() const
 
void GenerateParticles(std::vector< G4DynamicParticle *> *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
 
G4double GetPDGMass() const
 
static G4Electron * Electron()
 
G4ParticleDefinition * GetDefinition() const
 
G4VAtomDeexcitation * fAtomDeexcitation
 
std::map< G4String, G4double, std::less< G4String > > lowEnergyLimit