72 theAsymmetryTable(NULL),
73 theTransverseAsymmetryTable(NULL)
92 if (theAsymmetryTable) {
94 delete theAsymmetryTable;
96 if (theTransverseAsymmetryTable) {
98 delete theTransverseAsymmetryTable;
124 isInitialised =
true;
132 G4cout <<
" Delta cross sections from Moller+Bhabha, "
133 <<
"good description from 1 KeV to 100 GeV."
155 if (mfp !=
DBL_MAX && volumeIsPolarized && !ePolarization.
IsZero()) {
164 G4double lAsymmetry = (*theAsymmetryTable)(idx)->
165 GetValue(eEnergy, isOutRange);
166 G4double tAsymmetry = (*theTransverseAsymmetryTable)(idx)->
167 GetValue(eEnergy, isOutRange);
171 volumePolarization*eDirection0;
179 G4double impact = 1. + polZZ*lAsymmetry + (polXX + polYY)*tAsymmetry;
183 G4cout <<
"PV impact ( "<<polXX<<
" , "<<polYY<<
" , "<<polZZ<<
" )"<<
G4endl;
185 G4cout<<
" lAsymmetry= "<<lAsymmetry<<
" ("<<std::fabs(lAsymmetry)-1.<<
")\n";
186 G4cout<<
" tAsymmetry= "<<tAsymmetry<<
" ("<<std::fabs(tAsymmetry)-1.<<
")\n";
209 if (mfp !=
DBL_MAX && volumeIsPolarized && !ePolarization.
IsZero()) {
217 G4double lAsymmetry = (*theAsymmetryTable)(idx)->Value(eEnergy);
218 G4double tAsymmetry = (*theTransverseAsymmetryTable)(idx)->Value(eEnergy);
222 volumePolarization*eDirection0;
230 G4double impact = 1. + polZZ*lAsymmetry + (polXX + polYY)*tAsymmetry;
234 G4cout <<
"PV impact ( "<<polXX<<
" , "<<polYY<<
" , "<<polZZ<<
" )"<<
G4endl;
236 G4cout<<
" lAsymmetry= "<<lAsymmetry<<
" ("<<std::fabs(lAsymmetry)-1.<<
")\n";
237 G4cout<<
" tAsymmetry= "<<tAsymmetry<<
" ("<<std::fabs(tAsymmetry)-1.<<
")\n";
254 if (theAsymmetryTable) {
256 if (theTransverseAsymmetryTable) {
257 theTransverseAsymmetryTable->
clearAndDestroy();
delete theTransverseAsymmetryTable;}
266 for (
size_t j=0 ; j < numOfCouples; j++ ) {
277 for (
size_t i = 0 ; i < bins ; i++ ) {
284 theAsymmetryTable->
insertAt( j , ptrVectorA ) ;
285 theTransverseAsymmetryTable->
insertAt( j , ptrVectorB ) ;
299 if (isElectron) {lAsymmetry = tAsymmetry = -1.0;}
320 lAsymmetry=sigma2/sigma0-1.;
321 tAsymmetry=sigma3/sigma0-1.;
323 if (std::fabs(lAsymmetry)>1.) {
324 G4cout<<
" energy="<<energy<<
"\n";
325 G4cout<<
"WARNING lAsymmetry= "<<lAsymmetry<<
" ("<<std::fabs(lAsymmetry)-1.<<
")\n";
327 if (std::fabs(tAsymmetry)>1.) {
328 G4cout<<
" energy="<<energy<<
"\n";
329 G4cout<<
"WARNING tAsymmetry= "<<tAsymmetry<<
" ("<<std::fabs(tAsymmetry)-1.<<
")\n";