Parallel / biasing world vs. G4VModularPhysicsList

Hi everyone,
I am trying to implement importance biasing with a very simple parallel world (just a G4Box, nothing else).
My Physics list:

myPhysicsList::myPhysicsList():  G4VModularPhysicsList() {
    emPhysicsList = new G4EmPenelopePhysics();
}
myPhysicsList::~myPhysicsList() {  delete emPhysicsList;  }
void myPhysicsList::ConstructParticle() {  emPhysicsList->ConstructParticle();  }
void myPhysicsList::ConstructProcess() {
  AddTransportation();
  emPhysicsList -> ConstructProcess();
}

The way I create the parallel world:

auto detector = new myDetectorConstruction();
runManager->SetUserInitialization(detector);

G4String parallelName("ParallelBiasingWorld");
myParallelWorld* pdet = new myParallelWorld(parallelName);
detector->RegisterParallelWorld(pdet);
G4GeometrySampler pgs(pdet->GetWorldVolume(),"gamma");
pgs.SetParallel(true);

// Physics list
G4VModularPhysicsList* physicsList = new myPhysicsList();  // IMPORTANT LINE
physicsList->RegisterPhysics(new G4ImportanceBiasing(&pgs,parallelName));
physicsList->RegisterPhysics(new G4ParallelWorldPhysics(parallelName));
runManager->SetUserInitialization(physicsList);

Gamma particles that penetrate the “ghost box” are not importance-sampled. However, when I change the “IMPORTANT LINE” from above to

G4VModularPhysicsList* physicsList = new FTFP_BERT();

particles get multiplied when entering the box.

What am I missing here? Thanks a lot in advance for your support :slight_smile:

from FTFP_BERT.* list, I finally got inspired in the (seemingly) right way :slight_smile:
for the record:
myPhysicsList.hh:

#ifndef myPhysicsList_h
#define myPhysicsList_h 1

#include "G4VModularPhysicsList.hh"

class myPhysicsList: public G4VModularPhysicsList {
public:
  myPhysicsList(G4int ver = 1);
  virtual ~myPhysicsList()=default;
  virtual void SetCuts();
  myPhysicsList(const myPhysicsList &) = delete;
  myPhysicsList & operator=(const myPhysicsList &)=delete;
};
#endif

and myPhysicsList.cc

#include "myPhysicsList.hh"

#include "G4EmPenelopePhysics.hh"
#include "G4SystemOfUnits.hh"

myPhysicsList::myPhysicsList(G4int ver) : G4VModularPhysicsList() {
    RegisterPhysics(new G4EmPenelopePhysics(ver));
}

void myPhysicsList::SetCuts() {
   // ...
}