Cut values for bremstrahlung radiation

In PhysList.cc file there are such given cut values for next particles:

void PhysicsList::SetCuts()
{
SetCutValue(0mm, “proton”);
SetCutValue(1
mm, “e-”);
SetCutValue(1mm, “e+”);
SetCutValue(1
mm, “gamma”);
}

If I want to investigate bremstrahlung radiation for electrons from 28MeV to 70Mev energetic range. Tell please are these values normal ?

1 Like

Hello,

these values are normal as the starting point. Usually in Geant4 interval of stability of results versus cut in range is wide, so you may define cut in range 0.1 mm and got similar results. Recommended approach: choose the cut below smallest geometry size of your setup if you have small sensitive volumes; if you have large volumes but need to study bremsstrahlung spectrum, do not use high cut - 1 mm probably is the upper limit.

VI

The thinest target in my setup has thickness equals to 0.002cm. I set the next values of cuts

void PhysicsList::SetCuts()
{
SetCutValue(0mm, “proton”);
SetCutValue(0.0005
cm, “e-”);
SetCutValue(0.0005cm, “e+”);
SetCutValue(0.0005
cm, “gamma”);
}

The value of primary electrons equals to 10E+9. But after 355000000-th event core is dumped and run interrupted. What is the problem ?

1 Like

Is this what you set for /run/beamOn? I don’t know why it would have taken so long for a problem, but in any event you can’t use a number that large. The event count in Geant4 is a 32-bit signed integer (G4int), with a maximum value of 2^31-1 = ~2.4e+9.

Yes it is what I set for /run/beamOn. The problem is that when I use the next values of cuts there is no problem with core dumping and all one billion primary particles normally generated.

void PhysicsList::SetCuts()
{
SetCutValue(0mm, “proton”);
SetCutValue(1
mm, “e-”);
SetCutValue(1mm, “e+”);
SetCutValue(1
mm, “gamma”);
}

Problem arises, when I use the next values of cuts

void PhysicsList::SetCuts()
{
SetCutValue(0mm, “proton”);
SetCutValue(0.0005
cm, “e-”);
SetCutValue(0.0005cm, “e+”);
SetCutValue(0.0005
cm, “gamma”);
}

Have you run this interactively in the debugger? It’ll probably tie up your terminal window for a while, at the segfault you’ll be able to get a traceback, see where things failed, and inspect variables etc.

Hello,

When you reduce cut value the number of secondary tracks is increased. You may hit some limit in your analysis code, when accumulators overflow.

VI

Is that mean that I principally can’t set such a small value for cuts ? Because in this case I should set the values bigger than thickness of the thinnest target in my setup. If I understand you correctly it leads to wrong results of calculation.