160                                std::vector<G4DynamicParticle*>* fvect,
 
  176                                     kinEnergy,cutEnergy,kinEnergy);
 
  178         G4double Z  = currentElement->GetZ();
 
  186                                 kinEnergy, cutEnergy, kinEnergy) ;
 
  187         if(cross == 0.0) { 
return; }
 
  191         if(z1 > 2.0)      { z1 = 2.0; }
 
  192         else if(z1 < 0.0) { z1 = 0.0; }
 
  195         G4double sint = sqrt(z1*(1.0 + cost));
 
  212         G4double pxCM = momCM*sint*cos(phi);
 
  213         G4double pyCM = momCM*sint*sin(phi);
 
  215         G4double eCM  = sqrt(momCM2 + mass*mass);
 
  222         newDirection.rotateUz(dir);   
 
  233         G4double finalT = gam*(eCM + bet*pzCM) - mass;
 
  234         if(finalT < 0.0) { finalT = 0.0; }
 
  247     G4double plab = sqrt(finalT*(finalT + 2.0*mass));
 
  250     fvect->push_back(newdp);
 
  251   } 
else if(trec > 0.0) {
 
void SetupTarget(G4double Z, G4double kinEnergy, G4int heavycorr)
 
G4IonCoulombCrossSection * ioncross
 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
const std::vector< G4double > * GetEnergyCutsVector(size_t pcIdx) const 
 
G4NistManager * fNistManager
 
G4double GetKineticEnergy() const 
 
CLHEP::Hep3Vector G4ThreeVector
 
G4ParticleDefinition * GetIon(G4int atomicNumber, G4int atomicMass, G4double excitationEnergy)
 
const G4Material * currentMaterial
 
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
 
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A, G4double cut, G4double emax)
 
const std::vector< G4double > * pCuts
 
G4ParticleDefinition * GetDefinition() const 
 
G4double SampleCosineTheta()
 
static G4NistManager * Instance()
 
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
 
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
 
G4ParticleChangeForGamma * fParticleChange
 
G4IonCoulombScatteringModel(const G4String &nam="IonCoulombScattering")
 
const G4MaterialCutsCouple * CurrentCouple() const 
 
void ProposeNonIonizingEnergyDeposit(G4double anEnergyPart)
 
const G4ThreeVector & GetMomentumDirection() const 
 
static G4Proton * Proton()
 
G4int SelectIsotopeNumber(const G4Element *)
 
const G4ParticleDefinition * theProton
 
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
 
G4double NuclearCrossSection()
 
static G4ProductionCutsTable * GetProductionCutsTable()
 
static G4ParticleTable * GetParticleTable()
 
virtual ~G4IonCoulombScatteringModel()
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
const G4ParticleDefinition * particle
 
G4double PolarAngleLimit() const 
 
void DefineMaterial(const G4MaterialCutsCouple *)
 
void SetProposedKineticEnergy(G4double proposedKinEnergy)
 
void SetupParticle(const G4ParticleDefinition *)
 
const G4MaterialCutsCouple * currentCouple
 
G4int currentMaterialIndex
 
G4ParticleTable * theParticleTable
 
const G4Element * currentElement
 
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4ParticleChangeForGamma * GetParticleChangeForGamma()
 
void Initialise(const G4ParticleDefinition *, G4double cosThetaLim)
 
void SetupKinematic(G4double kinEnergy, G4double cut, G4int iz)