Are ->AddEmModel and ->SetEmModel interchangeable?

Geant4 Version: 11.2.1

Hi all,

I’m running a simulation with two regions, one where I’d like standard Em physics and one where I’d like DNA opt 2 physics. I was looking at the G4EmDNABuilder.cc/.hh and I noticed all the ConstructDNA classes have region argument and use AddEmModel() while ConstructStandardEmPhysics uses SetEmModel() which does not take a region. My question is what is the difference between these two methods and can they be used interchangeably?

Ideally, I’d like to make a custom version to have something like:

// --- Region 1, only standard physics, set limiting energy to 0 to have standard processes over the whole energy range:  

G4EmDNABuilder::ConstructStandardEmPhysics(0, 0, 
                                             0, 0,
                                             dnaGS, fast,Region1);

// --- Region 2, typical dna build, limiting energy depends on DNA maximum:

  G4EmDNABuilder::ConstructStandardEmPhysics(emaxDNA, emaxIonDNA, 
                                             emaxIonDNA, emaxIonDNA,
                                             dnaGS, fast, Region2);

  G4EmDNABuilder::ConstructDNAElectronPhysics(emaxDNA, 2, fast, st, Region2);
  G4EmDNABuilder::ConstructDNAProtonPhysics(eminBorn, emaxIonDNA, 2, fast, st, Region2);
  G4EmDNABuilder::ConstructDNAIonPhysics(emaxIonDNA, st, Region2);

  G4ParticleDefinition* part = genericIonsManager->GetIon("hydrogen");
  G4EmDNABuilder::ConstructDNALightIonPhysics(part, 0, 2, emaxIonDNA, fast, st, Region2);

  part = G4Alpha::Alpha();
  G4EmDNABuilder::ConstructDNALightIonPhysics(part, 2, 2, emaxIonDNA, fast, st, Region2);

  part = genericIonsManager->GetIon("alpha+");
  G4EmDNABuilder::ConstructDNALightIonPhysics(part, 1, 2, emaxIonDNA, fast, st, Region2);

  part = genericIonsManager->GetIon("helium");
  G4EmDNABuilder::ConstructDNALightIonPhysics(part, 0, 2, emaxIonDNA, fast, st, Region2);

Thanks!