Geant4 Version: 11.4.2
Operating System: Windows 11 Pro
Compiler/Version: Visual Studio Community 2026, 18.10.0
CMake Version: 4.4.3
Issue:
I’m directing 160 keV electrons towards a tungsten block to produce Bremsstrahlung.
According to literature, there should be notable polarization of the Bremsstrahlung.
However, all Bremsstrahlung photons in my simulation are born with:
polarization = (0,0,0)
Details:
I use:
RegisterPhysics(new G4EmLivermorePolarizedPhysics());
When using /process/em/verbose 3 , the verbose implies that gamma linear polarization is enabled:
Enable linear polarisation for gamma 1
Enable sampling of gamma linear polarisation 1
and the verbose also lists LivermorePolarizedRayleigh and LivermorePolarizedCompton.
However, the eBrem process is listed as:
eBrem: for e- XStype:4 SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV AngularGen2BS
eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGen2BS
DEDX address: 00000208B66DBDE0
0-th Vector : Type 2: Flag F
…and i can’t find any explicit reference to a polarized bremsstrahlung model in the verbose.
Also, using the following code in bremsstrahlung interactions (“eBrem”) returns “G4eBremsstrahlung”. I suppose that it should return “G4PolarizedBremsstrahlungModel” if the polarized bremsstrahlung model was properly enabled?
const G4VProcess* proc = step->GetPostStepPoint()->GetProcessDefinedStep();
G4cout << "C++ process type = " << typeid(*proc).name() << G4endl;
My question:
What is the correct way to activate polarized Bremsstrahlung (when using G4EmLivermorePolarizedPhysics)? Obviously I want to include the polarized versions of all other electromagnetic processes as well.