- changed status to resolved
default range cut does not overwrite other production cuts (when not set)
Issue #209
resolved
From email conversation with @nevay.
If one sets
option, defaultRangeCut = 10*um;
I had expected that all production cuts are set to this value. Unfortunately this is not the case, the others always take precedent (even if not explicitly set), from BDSModularPhysicsList::SetCuts()
:
SetDefaultCutValue(globals->DefaultRangeCut());
G4double prodCutPhotons = globals->ProdCutPhotons();
G4double prodCutElectrons = globals->ProdCutElectrons();
G4double prodCutPositrons = globals->ProdCutPositrons();
G4double prodCutProtons = globals->ProdCutProtons();
SetCutValue(prodCutPhotons, "gamma");
SetCutValue(prodCutElectrons,"e-");
SetCutValue(prodCutPositrons,"e+");
SetCutValue(prodCutProtons, "proton");
Response from @nevay:
If we could detect whether these were set or not, we could set them individually and therefore the default would pervade.
I think setting only the default should apply to the others and we need to change the logic in BDSModularPhysicsList.cc. We should also update the manual to be explicit about the behaviour.
Comments (1)
-
reporter - Log in to comment
fix issue
#209: only set indiviudal production cuts when explicitly set→ <<cset a4b2951024fd>>