Hello all,
I am developing an application called G4 Brems (GitHub - john9francis/G4-Brems: A Geant4 Model of Bremsstrahlung or "braking radiation." In this model I will mimic the production of Bremsstrahlung by shooting electrons at a tungsten target and detect the energies of the resulting x-ray photons.) aiming to model Bremsstrahlung. In the simulation I shoot 6 MeV electrons at a tungsten target and use the eBremsstrahlung physics process to create secondary gammas. I am using the Penelope physics list, which has included the eBremsstrahlung physics process, but I have tried with EMStandard, (all 4 options), and Livermore physics lists, with the same results.
The issue I am running into is that every run creates a gamma particle with very similar energy, around 88 keV. In reality, it should create a continuous spectrum of photon energies from 6 MeV all the way down to a couple keVs.
My best guess is that it has something to do with the datasets. It looks like eBremsstrahlung uses the G4SeltzerBergerModel to decide the energies of the produced gammas. Upon studying the G4SeltzerBergerModel.cc file, I saw this function:
const G4String& G4SeltzerBergerModel::FindDirectoryPath()
{
// check environment variable
// build the complete string identifying the file with the data set
if(gDataDirectory.empty()) {
const char* path = G4FindDataDir("G4LEDATA");
if (path) {
std::ostringstream ost;
ost << path << "/brem_SB/br";
gDataDirectory = ost.str();
} else {
G4Exception("G4SeltzerBergerModel::FindDirectoryPath()","em0006",
FatalException,
"Environment variable G4LEDATA not defined");
}
}
return gDataDirectory;
}
And I looked at the brem_SB directory, it has a bunch of files like br1, br2, br3⦠I was wondering if maybe the model happens to use the same file every run? Iām not sure thoughā¦
If anyone has an idea what could be going on here, I would appreciate the help.
Attached files:
- The result of several events. It really seems to favor the 88.29 keV energy. The values around 176 and 264 are just multiples of ~88, which is caused when the electron undergoes multiple bremsstrahlung interactions in one event. (Some events produce more than one gamma.) There is also variation due to the way I have my detector set up, which would explain the slightly different values like 88.29 and 88.72, etc. Basically what Iām trying to say is that it seems like every gamma generated has around 88keV.
- On the energy graph you can see a very discrete distribution. I would expect a continuous spectrum from bremsstrahlung. NOTE: The target also gets bombarded with electrons, but those energies donāt register. The detector only generates data for a particle if it is a gamma.
Geant4 Version: 11.0.3
Operating System: Windows 11
Compiler/Version: Visual Studio 2022
CMake Version: 3.27.1