Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4BetheBlochModel Class Reference

#include <G4BetheBlochModel.hh>

+ Inheritance diagram for G4BetheBlochModel:

Public Member Functions

 G4BetheBlochModel (const G4ParticleDefinition *p=0, const G4String &nam="BetheBloch")
 
virtual ~G4BetheBlochModel ()
 
virtual void Initialise (const G4ParticleDefinition *, const G4DataVector &)
 
virtual G4double ComputeCrossSectionPerElectron (const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
 
virtual G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy)
 
virtual G4double CrossSectionPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
 
virtual G4double ComputeDEDXPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
 
virtual G4double GetChargeSquareRatio (const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy)
 
virtual G4double GetParticleCharge (const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy)
 
virtual void CorrectionsAlongStep (const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &eloss, G4double &, G4double length)
 
virtual void SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
 
- Public Member Functions inherited from G4VEmModel
 G4VEmModel (const G4String &nam)
 
virtual ~G4VEmModel ()
 
virtual void Initialise (const G4ParticleDefinition *, const G4DataVector &)=0
 
virtual void SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double tmax=DBL_MAX)=0
 
virtual G4double ComputeDEDXPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
 
virtual G4double CrossSectionPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
virtual G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
virtual G4double ChargeSquareRatio (const G4Track &)
 
virtual G4double GetChargeSquareRatio (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
virtual G4double GetParticleCharge (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
virtual void StartTracking (G4Track *)
 
virtual void CorrectionsAlongStep (const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length)
 
virtual G4double Value (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy)
 
virtual G4double MinPrimaryEnergy (const G4Material *, const G4ParticleDefinition *)
 
virtual void SetupForMaterial (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
virtual void DefineForRegion (const G4Region *)
 
void InitialiseElementSelectors (const G4ParticleDefinition *, const G4DataVector &)
 
G4double ComputeDEDX (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
 
G4double CrossSection (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4double ComputeMeanFreePath (const G4ParticleDefinition *, G4double kineticEnergy, const G4Material *, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, const G4Element *, G4double kinEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4int SelectIsotopeNumber (const G4Element *)
 
const G4ElementSelectRandomAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
const G4ElementSelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
void SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *f=0)
 
void SetCrossSectionTable (G4PhysicsTable *)
 
G4PhysicsTableGetCrossSectionTable ()
 
G4VEmFluctuationModelGetModelOfFluctuations ()
 
G4VEmAngularDistributionGetAngularDistribution ()
 
void SetAngularDistribution (G4VEmAngularDistribution *)
 
G4double HighEnergyLimit () const
 
G4double LowEnergyLimit () const
 
G4double HighEnergyActivationLimit () const
 
G4double LowEnergyActivationLimit () const
 
G4double PolarAngleLimit () const
 
G4double SecondaryThreshold () const
 
G4bool LPMFlag () const
 
G4bool DeexcitationFlag () const
 
G4bool ForceBuildTableFlag () const
 
void SetHighEnergyLimit (G4double)
 
void SetLowEnergyLimit (G4double)
 
void SetActivationHighEnergyLimit (G4double)
 
void SetActivationLowEnergyLimit (G4double)
 
G4bool IsActive (G4double kinEnergy)
 
void SetPolarAngleLimit (G4double)
 
void SetSecondaryThreshold (G4double)
 
void SetLPMFlag (G4bool val)
 
void SetDeexcitationFlag (G4bool val)
 
void ForceBuildTable (G4bool val)
 
G4double MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle)
 
const G4StringGetName () const
 
void SetCurrentCouple (const G4MaterialCutsCouple *)
 
const G4ElementGetCurrentElement () const
 

Protected Member Functions

virtual G4double MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kinEnergy)
 
G4double GetChargeSquareRatio () const
 
void SetChargeSquareRatio (G4double val)
 
- Protected Member Functions inherited from G4VEmModel
G4ParticleChangeForLossGetParticleChangeForLoss ()
 
G4ParticleChangeForGammaGetParticleChangeForGamma ()
 
virtual G4double MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy)
 
const G4MaterialCutsCoupleCurrentCouple () const
 
void SetCurrentElement (const G4Element *)
 

Additional Inherited Members

- Protected Attributes inherited from G4VEmModel
G4VParticleChangepParticleChange
 
G4PhysicsTablexSectionTable
 
const std::vector< G4double > * theDensityFactor
 
const std::vector< G4int > * theDensityIdx
 

Detailed Description

Definition at line 72 of file G4BetheBlochModel.hh.

Constructor & Destructor Documentation

◆ G4BetheBlochModel()

G4BetheBlochModel::G4BetheBlochModel ( const G4ParticleDefinition p = 0,
const G4String nam = "BetheBloch" 
)

Definition at line 73 of file G4BetheBlochModel.cc.

75 : G4VEmModel(nam),
76 particle(0),
77 tlimit(DBL_MAX),
78 twoln10(2.0*log(10.0)),
79 bg2lim(0.0169),
80 taulim(8.4146e-3),
81 isIon(false),
82 isInitialised(false)
83{
84 fParticleChange = 0;
85 theElectron = G4Electron::Electron();
86 if(p) {
87 SetGenericIon(p);
88 SetParticle(p);
89 } else {
90 SetParticle(theElectron);
91 }
94 SetLowEnergyLimit(2.0*MeV);
95}
static G4Electron * Electron()
Definition: G4Electron.cc:94
static G4LossTableManager * Instance()
G4EmCorrections * EmCorrections()
static G4NistManager * Instance()
void SetLowEnergyLimit(G4double)
Definition: G4VEmModel.hh:592
#define DBL_MAX
Definition: templates.hh:83

◆ ~G4BetheBlochModel()

G4BetheBlochModel::~G4BetheBlochModel ( )
virtual

Definition at line 99 of file G4BetheBlochModel.cc.

100{}

Member Function Documentation

◆ ComputeCrossSectionPerAtom()

G4double G4BetheBlochModel::ComputeCrossSectionPerAtom ( const G4ParticleDefinition p,
G4double  kineticEnergy,
G4double  Z,
G4double  A,
G4double  cutEnergy,
G4double  maxEnergy 
)
virtual

Reimplemented from G4VEmModel.

Definition at line 211 of file G4BetheBlochModel.cc.

217{
219 (p,kineticEnergy,cutEnergy,maxEnergy);
220 return cross;
221}
double G4double
Definition: G4Types.hh:64
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)

◆ ComputeCrossSectionPerElectron()

G4double G4BetheBlochModel::ComputeCrossSectionPerElectron ( const G4ParticleDefinition p,
G4double  kineticEnergy,
G4double  cutEnergy,
G4double  maxEnergy 
)
virtual

Definition at line 174 of file G4BetheBlochModel.cc.

178{
179 G4double cross = 0.0;
180 G4double tmax = MaxSecondaryEnergy(p, kineticEnergy);
181 G4double maxEnergy = min(tmax,maxKinEnergy);
182 if(cutEnergy < maxEnergy) {
183
184 G4double totEnergy = kineticEnergy + mass;
185 G4double energy2 = totEnergy*totEnergy;
186 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/energy2;
187
188 cross = 1.0/cutEnergy - 1.0/maxEnergy
189 - beta2*log(maxEnergy/cutEnergy)/tmax;
190
191 // +term for spin=1/2 particle
192 if( 0.5 == spin ) { cross += 0.5*(maxEnergy - cutEnergy)/energy2; }
193
194 // High order correction different for hadrons and ions
195 // nevetheless they are applied to reduce high energy transfers
196 // if(!isIon)
197 //cross += corr->FiniteSizeCorrectionXS(p,currentMaterial,
198 // kineticEnergy,cutEnergy);
199
200 cross *= twopi_mc2_rcl2*chargeSquare/beta2;
201 }
202
203 // G4cout << "BB: e= " << kineticEnergy << " tmin= " << cutEnergy
204 // << " tmax= " << tmax << " cross= " << cross << G4endl;
205
206 return cross;
207}
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy)

Referenced by ComputeCrossSectionPerAtom(), and CrossSectionPerVolume().

◆ ComputeDEDXPerVolume()

G4double G4BetheBlochModel::ComputeDEDXPerVolume ( const G4Material material,
const G4ParticleDefinition p,
G4double  kineticEnergy,
G4double  cutEnergy 
)
virtual

Reimplemented from G4VEmModel.

Reimplemented in G4BetheBlochNoDeltaModel.

Definition at line 240 of file G4BetheBlochModel.cc.

244{
245 G4double tmax = MaxSecondaryEnergy(p, kineticEnergy);
246 G4double cutEnergy = std::min(cut,tmax);
247
248 G4double tau = kineticEnergy/mass;
249 G4double gam = tau + 1.0;
250 G4double bg2 = tau * (tau+2.0);
251 G4double beta2 = bg2/(gam*gam);
252
253 G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy();
254 G4double eexc2 = eexc*eexc;
255
256 G4double eDensity = material->GetElectronDensity();
257
258 G4double dedx = log(2.0*electron_mass_c2*bg2*cutEnergy/eexc2)
259 - (1.0 + cutEnergy/tmax)*beta2;
260
261 if(0.5 == spin) {
262 G4double del = 0.5*cutEnergy/(kineticEnergy + mass);
263 dedx += del*del;
264 }
265
266 // density correction
267 G4double x = log(bg2)/twoln10;
268 dedx -= material->GetIonisation()->DensityCorrection(x);
269
270 // shell correction
271 dedx -= 2.0*corr->ShellCorrection(p,material,kineticEnergy);
272
273 // now compute the total ionization loss
274 dedx *= twopi_mc2_rcl2*chargeSquare*eDensity/beta2;
275
276 //High order correction different for hadrons and ions
277 if(isIon) {
278 dedx += corr->IonBarkasCorrection(p,material,kineticEnergy);
279 } else {
280 dedx += corr->HighOrderCorrections(p,material,kineticEnergy,cutEnergy);
281 }
282
283 if (dedx < 0.0) { dedx = 0.0; }
284
285 //G4cout << "E(MeV)= " << kineticEnergy/MeV << " dedx= " << dedx
286 // << " " << material->GetName() << G4endl;
287
288 return dedx;
289}
G4double IonBarkasCorrection(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
G4double HighOrderCorrections(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy, G4double cutEnergy)
G4double ShellCorrection(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
G4double GetMeanExcitationEnergy() const
G4double DensityCorrection(G4double x)
G4IonisParamMat * GetIonisation() const
Definition: G4Material.hh:225
G4double GetElectronDensity() const
Definition: G4Material.hh:216

Referenced by G4BetheBlochNoDeltaModel::ComputeDEDXPerVolume().

◆ CorrectionsAlongStep()

void G4BetheBlochModel::CorrectionsAlongStep ( const G4MaterialCutsCouple couple,
const G4DynamicParticle dp,
G4double eloss,
G4double ,
G4double  length 
)
virtual

Reimplemented from G4VEmModel.

Definition at line 293 of file G4BetheBlochModel.cc.

298{
299 if(isIon) {
300 const G4ParticleDefinition* p = dp->GetDefinition();
301 const G4Material* mat = couple->GetMaterial();
302 G4double preKinEnergy = dp->GetKineticEnergy();
303 G4double e = preKinEnergy - eloss*0.5;
304 if(e < preKinEnergy*0.75) { e = preKinEnergy*0.75; }
305
306 G4double q2 = corr->EffectiveChargeSquareRatio(p,mat,e);
308 G4double qfactor = q2*corr->EffectiveChargeCorrection(p,mat,e)/corrFactor;
309 G4double highOrder = length*corr->IonHighOrderCorrections(p,couple,e);
310 G4double elossnew = eloss*qfactor + highOrder;
311 if(elossnew > preKinEnergy) { elossnew = preKinEnergy; }
312 else if(elossnew < eloss*0.5) { elossnew = eloss*0.5; }
313 eloss = elossnew;
314 //G4cout << "G4BetheBlochModel::CorrectionsAlongStep: e= " << preKinEnergy
315 // << " qfactor= " << qfactor
316 // << " highOrder= " << highOrder << " (" << highOrder/eloss << ")" << G4endl;
317 }
318}
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double EffectiveChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
G4double IonHighOrderCorrections(const G4ParticleDefinition *, const G4MaterialCutsCouple *, G4double kineticEnergy)
G4double EffectiveChargeCorrection(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
const G4Material * GetMaterial() const
virtual void SetParticleAndCharge(const G4ParticleDefinition *, G4double q2)
G4VEmFluctuationModel * GetModelOfFluctuations()
Definition: G4VEmModel.hh:501

◆ CrossSectionPerVolume()

G4double G4BetheBlochModel::CrossSectionPerVolume ( const G4Material material,
const G4ParticleDefinition p,
G4double  kineticEnergy,
G4double  cutEnergy,
G4double  maxEnergy 
)
virtual

Reimplemented from G4VEmModel.

Reimplemented in G4BetheBlochNoDeltaModel.

Definition at line 225 of file G4BetheBlochModel.cc.

231{
232 G4double eDensity = material->GetElectronDensity();
234 (p,kineticEnergy,cutEnergy,maxEnergy);
235 return cross;
236}

◆ GetChargeSquareRatio() [1/2]

G4double G4BetheBlochModel::GetChargeSquareRatio ( ) const
inlineprotected

Definition at line 193 of file G4BetheBlochModel.hh.

194{
195 return chargeSquare;
196}

◆ GetChargeSquareRatio() [2/2]

G4double G4BetheBlochModel::GetChargeSquareRatio ( const G4ParticleDefinition p,
const G4Material mat,
G4double  kineticEnergy 
)
virtual

Reimplemented from G4VEmModel.

Definition at line 125 of file G4BetheBlochModel.cc.

128{
129 // this method is called only for ions
130 G4double q2 = corr->EffectiveChargeSquareRatio(p,mat,kineticEnergy);
131 corrFactor = q2*corr->EffectiveChargeCorrection(p,mat,kineticEnergy);
132 return corrFactor;
133}

◆ GetParticleCharge()

G4double G4BetheBlochModel::GetParticleCharge ( const G4ParticleDefinition p,
const G4Material mat,
G4double  kineticEnergy 
)
virtual

Reimplemented from G4VEmModel.

Reimplemented in G4BetheBlochIonGasModel.

Definition at line 137 of file G4BetheBlochModel.cc.

140{
141 // this method is called only for ions, so no check if it is an ion
142 return corr->GetParticleCharge(p,mat,kineticEnergy);
143}
G4double GetParticleCharge(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)

◆ Initialise()

void G4BetheBlochModel::Initialise ( const G4ParticleDefinition p,
const G4DataVector  
)
virtual

Implements G4VEmModel.

Definition at line 104 of file G4BetheBlochModel.cc.

106{
107 SetGenericIon(p);
108 SetParticle(p);
109
110 //G4cout << "G4BetheBlochModel::Initialise for " << p->GetParticleName()
111 // << " isIon= " << isIon
112 // << G4endl;
113
114 // always false before the run
115 SetDeexcitationFlag(false);
116
117 if(!isInitialised) {
118 isInitialised = true;
119 fParticleChange = GetParticleChangeForLoss();
120 }
121}
void SetDeexcitationFlag(G4bool val)
Definition: G4VEmModel.hh:641
G4ParticleChangeForLoss * GetParticleChangeForLoss()
Definition: G4VEmModel.cc:95

◆ MaxSecondaryEnergy()

G4double G4BetheBlochModel::MaxSecondaryEnergy ( const G4ParticleDefinition pd,
G4double  kinEnergy 
)
protectedvirtual

Reimplemented from G4VEmModel.

Definition at line 427 of file G4BetheBlochModel.cc.

429{
430 // here particle type is checked for any method
431 SetParticle(pd);
432 G4double tau = kinEnergy/mass;
433 G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
434 (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
435 return std::min(tmax,tlimit);
436}

Referenced by ComputeCrossSectionPerElectron(), ComputeDEDXPerVolume(), and SampleSecondaries().

◆ SampleSecondaries()

void G4BetheBlochModel::SampleSecondaries ( std::vector< G4DynamicParticle * > *  vdp,
const G4MaterialCutsCouple ,
const G4DynamicParticle dp,
G4double  tmin,
G4double  maxEnergy 
)
virtual

Implements G4VEmModel.

Definition at line 322 of file G4BetheBlochModel.cc.

327{
328 G4double kineticEnergy = dp->GetKineticEnergy();
329 G4double tmax = MaxSecondaryEnergy(dp->GetDefinition(),kineticEnergy);
330
331 G4double maxKinEnergy = std::min(maxEnergy,tmax);
332 if(minKinEnergy >= maxKinEnergy) { return; }
333
334 G4double totEnergy = kineticEnergy + mass;
335 G4double etot2 = totEnergy*totEnergy;
336 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/etot2;
337
338 G4double deltaKinEnergy, f;
339 G4double f1 = 0.0;
340 G4double fmax = 1.0;
341 if( 0.5 == spin ) { fmax += 0.5*maxKinEnergy*maxKinEnergy/etot2; }
342
343 // sampling without nuclear size effect
344 do {
346 deltaKinEnergy = minKinEnergy*maxKinEnergy
347 /(minKinEnergy*(1.0 - q) + maxKinEnergy*q);
348
349 f = 1.0 - beta2*deltaKinEnergy/tmax;
350 if( 0.5 == spin ) {
351 f1 = 0.5*deltaKinEnergy*deltaKinEnergy/etot2;
352 f += f1;
353 }
354
355 } while( fmax*G4UniformRand() > f);
356
357 // projectile formfactor - suppresion of high energy
358 // delta-electron production at high energy
359
360 G4double x = formfact*deltaKinEnergy;
361 if(x > 1.e-6) {
362
363 G4double x1 = 1.0 + x;
364 G4double grej = 1.0/(x1*x1);
365 if( 0.5 == spin ) {
366 G4double x2 = 0.5*electron_mass_c2*deltaKinEnergy/(mass*mass);
367 grej *= (1.0 + magMoment2*(x2 - f1/f)/(1.0 + x2));
368 }
369 if(grej > 1.1) {
370 G4cout << "### G4BetheBlochModel WARNING: grej= " << grej
371 << " " << dp->GetDefinition()->GetParticleName()
372 << " Ekin(MeV)= " << kineticEnergy
373 << " delEkin(MeV)= " << deltaKinEnergy
374 << G4endl;
375 }
376 if(G4UniformRand() > grej) return;
377 }
378
379 // delta-electron is produced
380 G4double totMomentum = totEnergy*sqrt(beta2);
381 G4double deltaMomentum =
382 sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2));
383 G4double cost = deltaKinEnergy * (totEnergy + electron_mass_c2) /
384 (deltaMomentum * totMomentum);
385 /*
386 if(cost > 1.0) {
387 G4cout << "### G4BetheBlochModel WARNING: cost= "
388 << cost << " > 1 for "
389 << dp->GetDefinition()->GetParticleName()
390 << " Ekin(MeV)= " << kineticEnergy
391 << " p(MeV/c)= " << totMomentum
392 << " delEkin(MeV)= " << deltaKinEnergy
393 << " delMom(MeV/c)= " << deltaMomentum
394 << " tmin(MeV)= " << minKinEnergy
395 << " tmax(MeV)= " << maxKinEnergy
396 << " dir= " << dp->GetMomentumDirection()
397 << G4endl;
398 cost = 1.0;
399 }
400 */
401 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
402
403 G4double phi = twopi * G4UniformRand() ;
404
405
406 G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost);
407 G4ThreeVector direction = dp->GetMomentumDirection();
408 deltaDirection.rotateUz(direction);
409
410 // create G4DynamicParticle object for delta ray
411 G4DynamicParticle* delta = new G4DynamicParticle(theElectron,
412 deltaDirection,deltaKinEnergy);
413
414 vdp->push_back(delta);
415
416 // Change kinematics of primary particle
417 kineticEnergy -= deltaKinEnergy;
418 G4ThreeVector finalP = direction*totMomentum - deltaDirection*deltaMomentum;
419 finalP = finalP.unit();
420
421 fParticleChange->SetProposedKineticEnergy(kineticEnergy);
422 fParticleChange->SetProposedMomentumDirection(finalP);
423}
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
#define G4UniformRand()
Definition: Randomize.hh:53
Hep3Vector unit() const
Hep3Vector & rotateUz(const Hep3Vector &)
Definition: ThreeVector.cc:72
const G4ThreeVector & GetMomentumDirection() const
void SetProposedKineticEnergy(G4double proposedKinEnergy)
void SetProposedMomentumDirection(const G4ThreeVector &dir)
const G4String & GetParticleName() const

◆ SetChargeSquareRatio()

void G4BetheBlochModel::SetChargeSquareRatio ( G4double  val)
inlineprotected

Definition at line 200 of file G4BetheBlochModel.hh.

201{
202 chargeSquare = val;
203}

Referenced by G4BetheBlochIonGasModel::ChargeSquareRatio().


The documentation for this class was generated from the following files: