74 theTargetPolarization(0.,0.,0.),
75 theAsymmetryTable(nullptr),
76 theTransverseAsymmetryTable(nullptr)
166 G4cout <<
"G4ePolarizedIonisation::MeanFreePath: "
192 G4double prvLength = iLength*satFact;
195 std::max(nLength - step/prvLength, 0.0);
200 G4cout <<
"G4ePolarizedIonisation::PostStepGPIL: "
201 << std::setprecision(8) << x/
mm <<
" mm;" <<
G4endl
202 <<
" unpolarized value: "
203 << std::setprecision(8) << x0/
mm <<
" mm." <<
G4endl;
224 if (volumeIsPolarized && !volPolarization.
IsZero()) {
233 G4cout <<
"G4ePolarizedIonisation::ComputeSaturationFactor: " <<
G4endl;
237 G4cout <<
" MaterialPol. " << volPolarization <<
G4endl;
246 if(midx < theAsymmetryTable->size()) {
247 aVector = (*theAsymmetryTable)(midx);
249 if(midx < theTransverseAsymmetryTable->size()) {
250 bVector = (*theTransverseAsymmetryTable)(midx);
252 if(aVector && bVector) {
255 G4double polZZ = polarization.
z()*(volPolarization*direction0);
261 factor /= (1. + polZZ*lAsymmetry + (polXX + polYY)*tAsymmetry);
264 G4cout <<
" Asymmetry: " << lAsymmetry <<
", " << tAsymmetry <<
G4endl;
265 G4cout <<
" PolProduct: " << polXX <<
", " << polYY <<
", " << polZZ <<
G4endl;
270 ed <<
"Problem with asymmetry tables: material index " << midx
271 <<
" is out of range or tables are not filled";
272 G4Exception(
"G4ePolarizedIonisation::ComputeSaturationFactor",
"em0048",
289 if(masterProcess && masterProcess !=
this) { master =
false; }
309 for (
size_t j=0 ; j < numOfCouples; j++ ) {
320 for (
size_t i = 0 ; i < bins ; i++ ) {
343 if (
isElectron) { lAsymmetry = tAsymmetry = -1.0; }
364 lAsymmetry=sigma2/sigma0 - 1.;
365 tAsymmetry=sigma3/sigma0 - 1.;
367 if (std::fabs(lAsymmetry)>1.) {
368 G4cout<<
"G4ePolarizedIonisation::ComputeAsymmetry WARNING: E(MeV)= "
369 << energy <<
" lAsymmetry= "<<lAsymmetry
370 <<
" ("<<std::fabs(lAsymmetry)-1.<<
")\n";
372 if (std::fabs(tAsymmetry)>1.) {
373 G4cout<<
" energy="<<energy<<
"\n";
374 G4cout<<
"G4ePolarizedIonisation::ComputeAsymmetry WARNING: E(MeV)= "
375 << energy <<
" tAsymmetry= "<<tAsymmetry
376 <<
" ("<<std::fabs(tAsymmetry)-1.<<
")\n";