Primitive Scorer G4PSEnergyDeposit and G4PSDoseDeposit not working with neutrons

Hello,

I have a cube of G4_TISSUE_SOFT_ICRU-4 and tried to score the energy deposition and the dose deposition of 14 MeV neutrons with a primitive scorer but it is always zero.

I create particles with a GPS and shot them straight to my cube.
I’ve tested my scorer with protons and my scoring works.
I’ve switched the scoring quantity from G4PSEnergyDeposit and G4PSDoseDeposit to G4PSTrackLength and this works for neutrons so i assume my filter works.

I am using geant4_10_07_p03, my physics list is QGSP_BIC_AllHP (with G4TENDL1.4) but other physiscs lists (e.g. Shielding) have the same problem.

Is there any reason G4PSEnergyDeposit and G4PSDoseDeposit are not working with neutrons?

Best Regards
Max

My code with things to comment in&out to reproduce the things i’ve done:

  // Proton filter
  G4SDParticleFilter* protonFilter =
  new G4SDParticleFilter(fltName="protonFilter", particleName="proton");

  // Neutron filter
  // G4SDParticleFilter* neutronFilter =
  // new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron");

  // Declare a volume as a MultiFunctionalDetector scorer 
  auto boxPS = new G4MultiFunctionalDetector("Scorer");
  G4SDManager::GetSDMpointer()->AddNewDetector(boxPS);

  // Declare what quantity should be scored and apply filters
  // Score Deposited Energy (of protons)
  G4VPrimitiveScorer* primitive;
  primitive = new G4PSEnergyDeposit("Edep");
  // primitive = new G4PSDoseDeposit("Ddep");
  // primitive = new G4PSTrackLength("TrackLength");
  primitive ->SetFilter(protonFilter);
  // primitive ->SetFilter(neutronFilter);

  // Register Filters to Scorer
  boxPS->RegisterPrimitive(primitive); 

  //Apply Scorer to Volume
  SetSensitiveDetector("dummyVolume",boxPS);
1 Like

Update:
I tried different physics lists and found some are working…
I did not change any other code.

Physics lists that work:
QBBC, FTFP_BERT, FTFP_INCLXX, QGSP_BIC

Physics lists that DON’T work:
QGSP_BIC_AllHP, Shielding, FTFP_BERT_HP, FTFP_INCLXX_HP, QGSP_BIC_HP

It seems G4PSEnergyDeposit/G4PSDoseDeposit is not working for neutrons if you use a physics list that uses the High Precision neutron model (_HP)…

I am still looking for a reason or a fix.