88 protonMassAMU(1.007276),
135 pname !=
"deuteron" && pname !=
"triton" &&
136 pname !=
"alpha+" && pname !=
"helium" &&
137 pname !=
"hydrogen") {
isIon =
true; }
176 if(cutEnergy < maxEnergy) {
180 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*
mass)/energy2;
181 cross = (maxEnergy - cutEnergy)/(cutEnergy*maxEnergy)
182 - beta2*
G4Log(maxEnergy/cutEnergy)/tmax;
184 if( 0.0 <
spin ) { cross += 0.5*(maxEnergy - cutEnergy)/energy2; }
204 (p,kineticEnergy,cutEnergy,maxEnergy);
219 (p,kineticEnergy,cutEnergy,maxEnergy);
237 dedx =
DEDX(material, tkin);
240 if (cutEnergy < tmax) {
272 if(xmin >= xmax) {
return; }
277 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*
mass)/energy2;
287 deltaKinEnergy = xmin*xmax/(xmin*(1.0 - rndm[0]) + xmax*rndm[0]);
289 f = 1.0 - beta2*deltaKinEnergy/tmax;
292 G4cout <<
"G4BraggModel::SampleSecondary Warning! "
293 <<
"Majorant " << grej <<
" < "
294 << f <<
" for e= " << deltaKinEnergy
299 }
while( grej*rndm[1] >= f );
316 if(cost > 1.0) { cost = 1.0; }
317 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
321 deltaDirection.
set(sint*cos(phi),sint*sin(phi), cost) ;
330 kineticEnergy -= deltaKinEnergy;
332 finalP = finalP.
unit();
337 vdp->push_back(delta);
396 {1.187E+1
f, 1.343E+1
f, 1.069E+4
f, 7.723E+2
f, 2.153E-2
f},
397 {7.802E+0
f, 8.814E+0
f, 8.303E+3
f, 7.446E+2
f, 7.966E-3
f},
398 {7.294E+0
f, 8.284E+0
f, 5.010E+3
f, 4.544E+2
f, 8.153E-3
f},
399 {8.646E+0
f, 9.800E+0
f, 7.066E+3
f, 4.581E+2
f, 9.383E-3
f},
400 {1.286E+1
f, 1.462E+1
f, 5.625E+3
f, 2.621E+3
f, 3.512E-2
f},
401 {3.229E+1
f, 3.696E+1
f, 8.918E+3
f, 3.244E+3
f, 1.273E-1
f},
402 {1.604E+1
f, 1.825E+1
f, 6.967E+3
f, 2.307E+3
f, 3.775E-2
f},
403 {8.049E+0
f, 9.099E+0
f, 9.257E+3
f, 3.846E+2
f, 1.007E-2
f},
404 {4.015E+0
f, 4.542E+0
f, 3.955E+3
f, 4.847E+2
f, 7.904E-3
f},
405 {4.571E+0
f, 5.173E+0
f, 4.346E+3
f, 4.779E+2
f, 8.572E-3
f},
406 {2.631E+0
f, 2.601E+0
f, 1.701E+3
f, 1.279E+3
f, 1.638E-2
f} };
408 static const G4float atomicWeight[11] = {
409 101.96128f, 44.0098f, 16.0426f, 28.0536f, 42.0804f,
410 104.1512f, 44.665f, 60.0843f, 18.0152f, 18.0152f, 12.0f};
415 }
else if ( T < 10000.0 ) {
422 ionloss = slow*shigh / (slow + shigh) ;
430 ionloss *= (1.0+0.023+0.0066*
G4Log(T)*invLog10);
432 else if (T < 700.0) {
433 ionloss *=(1.0+0.089-0.0248*
G4Log(T-99.)*invLog10);
435 else if (T < 10000.0) {
436 ionloss *=(1.0+0.089-0.0248*
G4Log(700.-99.)*invLog10);
467 {1.254E+0
f, 1.440E+0
f, 2.426E+2
f, 1.200E+4
f, 1.159E-1
f},
468 {1.229E+0
f, 1.397E+0
f, 4.845E+2
f, 5.873E+3
f, 5.225E-2
f},
469 {1.411E+0
f, 1.600E+0
f, 7.256E+2
f, 3.013E+3
f, 4.578E-2
f},
470 {2.248E+0
f, 2.590E+0
f, 9.660E+2
f, 1.538E+2
f, 3.475E-2
f},
471 {2.474E+0
f, 2.815E+0
f, 1.206E+3
f, 1.060E+3
f, 2.855E-2
f},
472 {2.631E+0
f, 2.601E+0
f, 1.701E+3
f, 1.279E+3
f, 1.638E-2
f},
473 {2.954E+0
f, 3.350E+0
f, 1.683E+3
f, 1.900E+3
f, 2.513E-2
f},
474 {2.652E+0
f, 3.000E+0
f, 1.920E+3
f, 2.000E+3
f, 2.230E-2
f},
475 {2.085E+0
f, 2.352E+0
f, 2.157E+3
f, 2.634E+3
f, 1.816E-2
f},
476 {1.951E+0
f, 2.199E+0
f, 2.393E+3
f, 2.699E+3
f, 1.568E-2
f},
478 {2.542E+0
f, 2.869E+0
f, 2.628E+3
f, 1.854E+3
f, 1.472E-2
f},
479 {3.791E+0
f, 4.293E+0
f, 2.862E+3
f, 1.009E+3
f, 1.397E-2
f},
480 {4.154E+0
f, 4.739E+0
f, 2.766E+3
f, 1.645E+2
f, 2.023E-2
f},
481 {4.914E+0
f, 5.598E+0
f, 3.193E+3
f, 2.327E+2
f, 1.419E-2
f},
482 {3.232E+0
f, 3.647E+0
f, 3.561E+3
f, 1.560E+3
f, 1.267E-2
f},
483 {3.447E+0
f, 3.891E+0
f, 3.792E+3
f, 1.219E+3
f, 1.211E-2
f},
484 {5.301E+0
f, 6.008E+0
f, 3.969E+3
f, 6.451E+2
f, 1.183E-2
f},
485 {5.731E+0
f, 6.500E+0
f, 4.253E+3
f, 5.300E+2
f, 1.123E-2
f},
486 {5.152E+0
f, 5.833E+0
f, 4.482E+3
f, 5.457E+2
f, 1.129E-2
f},
487 {5.521E+0
f, 6.252E+0
f, 4.710E+3
f, 5.533E+2
f, 1.112E-2
f},
489 {5.201E+0
f, 5.884E+0
f, 4.938E+3
f, 5.609E+2
f, 9.995E-3
f},
490 {4.858E+0
f, 5.489E+0
f, 5.260E+3
f, 6.511E+2
f, 8.930E-3
f},
491 {4.479E+0
f, 5.055E+0
f, 5.391E+3
f, 9.523E+2
f, 9.117E-3
f},
492 {3.983E+0
f, 4.489E+0
f, 5.616E+3
f, 1.336E+3
f, 8.413E-3
f},
493 {3.469E+0
f, 3.907E+0
f, 5.725E+3
f, 1.461E+3
f, 8.829E-3
f},
494 {3.519E+0
f, 3.963E+0
f, 6.065E+3
f, 1.243E+3
f, 7.782E-3
f},
495 {3.140E+0
f, 3.535E+0
f, 6.288E+3
f, 1.372E+3
f, 7.361E-3
f},
496 {3.553E+0
f, 4.004E+0
f, 6.205E+3
f, 5.551E+2
f, 8.763E-3
f},
497 {3.696E+0
f, 4.194E+0
f, 4.649E+3
f, 8.113E+1
f, 2.242E-2
f},
498 {4.210E+0
f, 4.750E+0
f, 6.953E+3
f, 2.952E+2
f, 6.809E-3
f},
500 {5.041E+0
f, 5.697E+0
f, 7.173E+3
f, 2.026E+2
f, 6.725E-3
f},
501 {5.554E+0
f, 6.300E+0
f, 6.496E+3
f, 1.100E+2
f, 9.689E-3
f},
502 {5.323E+0
f, 6.012E+0
f, 7.611E+3
f, 2.925E+2
f, 6.447E-3
f},
503 {5.874E+0
f, 6.656E+0
f, 7.395E+3
f, 1.175E+2
f, 7.684E-3
f},
504 {6.658E+0
f, 7.536E+0
f, 7.694E+3
f, 2.223E+2
f, 6.509E-3
f},
505 {6.413E+0
f, 7.240E+0
f, 1.185E+4
f, 1.537E+2
f, 2.880E-3
f},
506 {5.694E+0
f, 6.429E+0
f, 8.478E+3
f, 2.929E+2
f, 6.087E-3
f},
507 {6.339E+0
f, 7.159E+0
f, 8.693E+3
f, 3.303E+2
f, 6.003E-3
f},
508 {6.407E+0
f, 7.234E+0
f, 8.907E+3
f, 3.678E+2
f, 5.889E-3
f},
509 {6.734E+0
f, 7.603E+0
f, 9.120E+3
f, 4.052E+2
f, 5.765E-3
f},
511 {6.901E+0
f, 7.791E+0
f, 9.333E+3
f, 4.427E+2
f, 5.587E-3
f},
512 {6.424E+0
f, 7.248E+0
f, 9.545E+3
f, 4.802E+2
f, 5.376E-3
f},
513 {6.799E+0
f, 7.671E+0
f, 9.756E+3
f, 5.176E+2
f, 5.315E-3
f},
514 {6.109E+0
f, 6.887E+0
f, 9.966E+3
f, 5.551E+2
f, 5.151E-3
f},
515 {5.924E+0
f, 6.677E+0
f, 1.018E+4
f, 5.925E+2
f, 4.919E-3
f},
516 {5.238E+0
f, 5.900E+0
f, 1.038E+4
f, 6.300E+2
f, 4.758E-3
f},
518 {5.345E+0
f, 6.038E+0
f, 6.790E+3
f, 3.978E+2
f, 1.676E-2
f},
519 {5.814E+0
f, 6.554E+0
f, 1.080E+4
f, 3.555E+2
f, 4.626E-3
f},
520 {6.229E+0
f, 7.024E+0
f, 1.101E+4
f, 3.709E+2
f, 4.540E-3
f},
521 {6.409E+0
f, 7.227E+0
f, 1.121E+4
f, 3.864E+2
f, 4.474E-3
f},
523 {7.500E+0
f, 8.480E+0
f, 8.608E+3
f, 3.480E+2
f, 9.074E-3
f},
524 {6.979E+0
f, 7.871E+0
f, 1.162E+4
f, 3.924E+2
f, 4.402E-3
f},
525 {7.725E+0
f, 8.716E+0
f, 1.183E+4
f, 3.948E+2
f, 4.376E-3
f},
526 {8.337E+0
f, 9.425E+0
f, 1.051E+4
f, 2.696E+2
f, 6.206E-3
f},
527 {7.287E+0
f, 8.218E+0
f, 1.223E+4
f, 3.997E+2
f, 4.447E-3
f},
528 {7.899E+0
f, 8.911E+0
f, 1.243E+4
f, 4.021E+2
f, 4.511E-3
f},
529 {8.041E+0
f, 9.071E+0
f, 1.263E+4
f, 4.045E+2
f, 4.540E-3
f},
530 {7.488E+0
f, 8.444E+0
f, 1.283E+4
f, 4.069E+2
f, 4.420E-3
f},
531 {7.291E+0
f, 8.219E+0
f, 1.303E+4
f, 4.093E+2
f, 4.298E-3
f},
532 {7.098E+0
f, 8.000E+0
f, 1.323E+4
f, 4.118E+2
f, 4.182E-3
f},
534 {6.909E+0
f, 7.786E+0
f, 1.343E+4
f, 4.142E+2
f, 4.058E-3
f},
535 {6.728E+0
f, 7.580E+0
f, 1.362E+4
f, 4.166E+2
f, 3.976E-3
f},
536 {6.551E+0
f, 7.380E+0
f, 1.382E+4
f, 4.190E+2
f, 3.877E-3
f},
537 {6.739E+0
f, 7.592E+0
f, 1.402E+4
f, 4.214E+2
f, 3.863E-3
f},
538 {6.212E+0
f, 6.996E+0
f, 1.421E+4
f, 4.239E+2
f, 3.725E-3
f},
539 {5.517E+0
f, 6.210E+0
f, 1.440E+4
f, 4.263E+2
f, 3.632E-3
f},
540 {5.220E+0
f, 5.874E+0
f, 1.460E+4
f, 4.287E+2
f, 3.498E-3
f},
541 {5.071E+0
f, 5.706E+0
f, 1.479E+4
f, 4.330E+2
f, 3.405E-3
f},
542 {4.926E+0
f, 5.542E+0
f, 1.498E+4
f, 4.335E+2
f, 3.342E-3
f},
543 {4.788E+0
f, 5.386E+0
f, 1.517E+4
f, 4.359E+2
f, 3.292E-3
f},
545 {4.893E+0
f, 5.505E+0
f, 1.536E+4
f, 4.384E+2
f, 3.243E-3
f},
546 {5.028E+0
f, 5.657E+0
f, 1.555E+4
f, 4.408E+2
f, 3.195E-3
f},
547 {4.738E+0
f, 5.329E+0
f, 1.574E+4
f, 4.432E+2
f, 3.186E-3
f},
548 {4.587E+0
f, 5.160E+0
f, 1.541E+4
f, 4.153E+2
f, 3.406E-3
f},
549 {5.201E+0
f, 5.851E+0
f, 1.612E+4
f, 4.416E+2
f, 3.122E-3
f},
550 {5.071E+0
f, 5.704E+0
f, 1.630E+4
f, 4.409E+2
f, 3.082E-3
f},
551 {4.946E+0
f, 5.563E+0
f, 1.649E+4
f, 4.401E+2
f, 2.965E-3
f},
552 {4.477E+0
f, 5.034E+0
f, 1.667E+4
f, 4.393E+2
f, 2.871E-3
f},
554 {4.844E+0
f, 5.458E+0
f, 7.852E+3
f, 9.758E+2
f, 2.077E-2
f},
555 {4.307E+0
f, 4.843E+0
f, 1.704E+4
f, 4.878E+2
f, 2.882E-3
f},
557 {4.723E+0
f, 5.311E+0
f, 1.722E+4
f, 5.370E+2
f, 2.913E-3
f},
558 {5.319E+0
f, 5.982E+0
f, 1.740E+4
f, 5.863E+2
f, 2.871E-3
f},
559 {5.956E+0
f, 6.700E+0
f, 1.780E+4
f, 6.770E+2
f, 2.660E-3
f},
560 {6.158E+0
f, 6.928E+0
f, 1.777E+4
f, 5.863E+2
f, 2.812E-3
f},
561 {6.203E+0
f, 6.979E+0
f, 1.795E+4
f, 5.863E+2
f, 2.776E-3
f},
562 {6.181E+0
f, 6.954E+0
f, 1.812E+4
f, 5.863E+2
f, 2.748E-3
f},
563 {6.949E+0
f, 7.820E+0
f, 1.830E+4
f, 5.863E+2
f, 2.737E-3
f},
564 {7.506E+0
f, 8.448E+0
f, 1.848E+4
f, 5.863E+2
f, 2.727E-3
f},
565 {7.648E+0
f, 8.609E+0
f, 1.866E+4
f, 5.863E+2
f, 2.697E-3
f},
566 {7.711E+0
f, 8.679E+0
f, 1.883E+4
f, 5.863E+2
f, 2.641E-3
f},
568 {7.407E+0
f, 8.336E+0
f, 1.901E+4
f, 5.863E+2
f, 2.603E-3
f},
569 {7.290E+0
f, 8.204E+0
f, 1.918E+4
f, 5.863E+2
f, 2.673E-3
f}
575 if ( T < 40.0 && 5 == i) {
580 }
else if ( T < 10.0 ) {
592 ionloss = slow*shigh*fac / (slow + shigh);
618 const G4double* theAtomicNumDensityVector =
631 }
else if(1 == numberOfElements) {
647 for (
G4int i=0; i<numberOfElements; ++i) {
648 const G4Element* element = (*theElementVector)[i] ;
651 * theAtomicNumDensityVector[i] ;
653 * theAtomicNumDensityVector[i] ;
665 for (
G4int i=0; i<numberOfElements; ++i)
667 const G4Element* element = (*theElementVector)[i] ;
669 * theAtomicNumDensityVector[i];
685 if (myFormula == chFormula ) {
return false; }
695 if( theState ==
kStateGas && myFormula == chFormula)
return false ;
699 static const G4float HeEff = 2.8735f;
703 "H_2O",
"C_2H_4O",
"C_3H_6O",
"C_2H_2",
"C_H_3OH",
704 "C_2H_5OH",
"C_3H_7OH",
"C_3H_4",
"NH_3",
"C_14H_10",
705 "C_6H_6",
"C_4H_10",
"C_4H_6",
"C_4H_8O",
"CCl_4",
706 "CF_4",
"C_6H_8",
"C_6H_12",
"C_6H_10O",
"C_6H_10",
707 "C_8H_16",
"C_5H_10",
"C_5H_8",
"C_3H_6-Cyclopropane",
"C_2H_4F_2",
708 "C_2H_2F_2",
"C_4H_8O_2",
"C_2H_6",
"C_2F_6",
"C_2H_6O",
709 "C_3H_6O",
"C_4H_10O",
"C_2H_4",
"C_2H_4O",
"C_2H_4S",
710 "SH_2",
"CH_4",
"CCLF_3",
"CCl_2F_2",
"CHCl_2F",
711 "(CH_3)_2S",
"N_2O",
"C_5H_10O",
"C_8H_6",
"(CH_2)_N",
712 "(C_3H_6)_N",
"(C_8H_8)_N",
"C_3H_8",
"C_3H_6-Propylene",
"C_3H_6O",
713 "C_3H_6S",
"C_4H_4S",
"C_7H_8"
717 66.1f, 190.4f, 258.7f, 42.2f, 141.5f,
718 210.9f, 279.6f, 198.8f, 31.0f, 267.5f,
719 122.8f, 311.4f, 260.3f, 328.9f, 391.3f,
720 206.6f, 374.0f, 422.0f, 432.0f, 398.0f,
721 554.0f, 353.0f, 326.0f, 74.6f, 220.5f,
722 197.4f, 362.0f, 170.0f, 330.5f, 211.3f,
723 262.3f, 349.6f, 51.3f, 187.0f, 236.9f,
724 121.9f, 35.8f, 247.0f, 292.6f, 268.0f,
725 262.3f, 49.0f, 398.9f, 444.0f, 22.91f,
726 68.0f, 155.0f, 84.0f, 74.2f, 254.7f,
727 306.8f, 324.4f, 420.0f
730 static const G4float expCharge[53] = {
731 HeEff, HeEff, HeEff, 1.0f, HeEff,
732 HeEff, HeEff, HeEff, 1.0f, 1.0f,
733 1.0f, HeEff, HeEff, HeEff, HeEff,
734 HeEff, HeEff, HeEff, HeEff, HeEff,
735 HeEff, HeEff, HeEff, 1.0f, HeEff,
736 HeEff, HeEff, HeEff, HeEff, HeEff,
737 HeEff, HeEff, 1.0f, HeEff, HeEff,
738 HeEff, 1.0f, HeEff, HeEff, HeEff,
739 HeEff, 1.0f, HeEff, HeEff, 1.0f,
740 1.0f, 1.0f, 1.0f, 1.0f, HeEff,
744 static const G4int numberOfAtomsPerMolecula[53] = {
759 if(chFormula == nameOfMol[i]) {
762 ((
G4double)(expCharge[i] * numberOfAtomsPerMolecula[i]));
780 static const G4double beta25 = sqrt(1.0 - 1.0/(gamma25*gamma25));
781 static const G4double beta125 = sqrt(1.0 - 1.0/(gamma125*gamma125));
782 static const G4double f12525 = 1.0 +
G4Exp( 1.48*(beta125/beta25 - 7.0) );
788 (1.0 +
G4Exp( 1.48 * ( beta/beta25 - 7.0 ) ) );
void set(double x, double y, double z)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
T max(const T t1, const T t2)
brief Return the largest of the two arguments
virtual G4ThreeVector & SampleDirection(const G4DynamicParticle *dp, G4double finalTotalEnergy, G4int Z, const G4Material *)=0
G4double ChemicalFactor(G4double kineticEnergy, G4double eloss125) const
G4int SelectRandomAtomNumber(const G4Material *)
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
const G4ParticleDefinition * particle
std::vector< ExP01TrackerHit * > a
static constexpr double MeV
G4double GetParticleCharge(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
void SetHighEnergyLimit(G4double)
G4double EffectiveChargeCorrection(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
void SetParticle(const G4ParticleDefinition *p)
static constexpr double keV
G4double MaxSecondaryKinEnergy(const G4DynamicParticle *dynParticle)
static constexpr double twopi_mc2_rcl2
Float_t x1[n_points_granero]
static const G4int numberOfMolecula
const G4ThreeVector & GetMomentumDirection() const
virtual G4double GetParticleCharge(const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy) override
G4double StoppingPower(const G4Material *material, G4double kineticEnergy)
const G4ElementVector * GetElementVector() const
const G4String & GetParticleName() const
const G4String & GetParticleType() const
G4ParticleChangeForLoss * fParticleChange
virtual void flatArray(const int size, double *vect)=0
Hep3Vector & rotateUz(const Hep3Vector &)
void SetProposedMomentumDirection(const G4ThreeVector &dir)
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy) final
G4double EffectiveChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
G4int GetIndex(const G4Material *) const
G4double GetPDGMass() const
G4double G4Log(G4double x)
G4double ElectronicStoppingPower(G4double z, G4double kineticEnergy) const
G4bool MolecIsInZiegler1988(const G4Material *material)
static constexpr double proton_mass_c2
G4double theZieglerFactor
G4ParticleChangeForLoss * GetParticleChangeForLoss()
void SetDeexcitationFlag(G4bool val)
G4EmCorrections * EmCorrections()
const G4String & GetChemicalFormula() const
static constexpr double cm2
G4BraggModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="Bragg")
G4double GetElectronicDEDX(G4int idx, G4double energy) const
G4VEmFluctuationModel * GetModelOfFluctuations()
static constexpr double electron_mass_c2
static constexpr double twopi
static constexpr double eV
void SetAngularDistribution(G4VEmAngularDistribution *)
static G4Electron * Electron()
const G4Material * currentMaterial
G4ThreeVector GetMomentum() const
G4ParticleDefinition * theElectron
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
std::vector< G4Element * > G4ElementVector
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
G4double GetChargeSquareRatio() const
void SetProposedKineticEnergy(G4double proposedKinEnergy)
virtual void SetParticleAndCharge(const G4ParticleDefinition *, G4double q2)
G4bool UseAngularGeneratorFlag() const
static const G4double fac
G4double DEDX(const G4Material *material, G4double kineticEnergy)
G4double GetKineticEnergy() const
G4GLOB_DLL std::ostream G4cout
static G4LossTableManager * Instance()
G4VEmAngularDistribution * GetAngularDistribution()
const G4Material * GetMaterial() const
G4double GetTotalMomentum() const
const G4double * GetAtomicNumDensityVector() const
static constexpr double amu
G4double GetTotNbOfAtomsPerVolume() const
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
Float_t x2[n_points_geant4]
static G4PSTARStopping * fPSTAR
G4bool HasMaterial(const G4Material *material)
static constexpr double GeV
G4double GetElectronDensity() const
size_t GetNumberOfElements() const
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
G4double GetDensity() const