SetActivationLowEnergyLimit for specific target material

Dear experts,
Is it possible to add a selection of target material (such as carbon) in the following code snippet, in order to disable multiple scatterrings for muon-C below 10 keV?

auto particleIterator=GetParticleIterator();
particleIterator->reset();
while( (*particleIterator)() ){
  G4ParticleDefinition* particle = particleIterator->value();
  G4ProcessManager* pmanager = particle->GetProcessManager();
  G4String particleName = particle->GetParticleName();
  if ( particleName == "mu+" || particleName == "mu-" ) {
    G4double energyLimit = 10*CLHEP::keV;
    G4MuMultipleScattering *proc1 = new G4MuMultipleScattering();
    G4UrbanMscModel *msc = new G4UrbanMscModel();
    msc->SetActivationLowEnergyLimit(energyLimit);
    proc1->SetEmModel(msc);
  }
}

Thanks.

Hello,

Sorry for the late reply - I just find out this question. This code will not work because the process is not attached to a particle. You need to specify what is required: substitute the multiple scattering scattering process for muons by the single scattering process inside the carbon target? Or you want to disable any scattering in carbon below 10 keV?

VI

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.