Hello all ,
I m trying to use lowEnergy physics (Livermore / Penelope ) in nanostructure filled with Gold .
for seting stepMax i implemented following structure
DetectorConstruction.hh
void SetMaxStep (G4double );
and
G4UserLimits* fUserLimits;
…
DetectorConstruction.cc
fLogicalNano->SetUserLimits(fUserLimits);
and
void DetectorConstruction::SetMaxStep(G4double maxStep)
{
if ((fUserLimits)&&(maxStep>0.)) fUserLimits->SetMaxAllowedStep(maxStep);
}
////…/////////…/////////////…///////////////…//////////////////////////////…
physicslist.hh
class StepMax
and
StepMax* fStepMaxProcess;
…
physicslist.cc
i have two different physics ( G4EmDNA for world and Penelope or Livermore for Regions)
#include “G4ProcessManager.hh”
#include “StepMax.hh”
void PhysicsList::AddStepMax()
{
// Step limitation seen as a process
StepMax* stepMaxProcess = new StepMax();
auto particleIterator=GetParticleIterator();
particleIterator->reset();
while ((particleIterator)()){
G4ParticleDefinition particle = particleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (stepMaxProcess->IsApplicable(*particle))
{
pmanager ->AddDiscreteProcess(stepMaxProcess);
}
}
}
////////////////////////////
i also attach stepMax and stepmaxmessenger to my code
but when I get result
I can see userstepmax process
but i cant see any dfference in the result for different StepMax
I have one result for all , and I think it is a little Odd .
cheers
Ebrahim