multi geometry
This commit is contained in:
@@ -62,6 +62,10 @@ class ActionInitialization : public G4VUserActionInitialization
|
||||
G4cout << "ActionInitialization: Setting particle species to " << partSpecies << G4endl;
|
||||
}
|
||||
|
||||
void setDetectorConstruction(B4::DetectorConstruction* det){
|
||||
fDetConstruction = det;
|
||||
}
|
||||
|
||||
private:
|
||||
B4::DetectorConstruction* fDetConstruction = nullptr;
|
||||
mutable B4::PrimaryGeneratorAction * gen = nullptr;
|
||||
|
||||
+8
-6
@@ -36,6 +36,7 @@ void G4System::init(ConstructionWrapper &CW){
|
||||
|
||||
// Set mandatory initialization classes
|
||||
//
|
||||
|
||||
detConstruction = new B4::DetectorConstruction(&CW);
|
||||
|
||||
runManager->SetUserInitialization(detConstruction);
|
||||
@@ -43,12 +44,13 @@ void G4System::init(ConstructionWrapper &CW){
|
||||
if(first_init){
|
||||
auto physicsList = new FTFP_BERT;
|
||||
runManager->SetUserInitialization(physicsList);
|
||||
|
||||
|
||||
actionInitialization = new B4a::ActionInitialization(detConstruction);
|
||||
runManager->SetUserInitialization(actionInitialization);
|
||||
}
|
||||
if(! first_init){
|
||||
actionInitialization = new B4a::ActionInitialization(detConstruction);
|
||||
runManager->SetUserInitialization(actionInitialization);
|
||||
}
|
||||
else{
|
||||
actionInitialization->setDetectorConstruction(detConstruction);
|
||||
|
||||
G4RunManager::GetRunManager()->GeometryHasBeenModified();
|
||||
G4RunManager::GetRunManager()->ReinitializeGeometry();
|
||||
}
|
||||
@@ -60,8 +62,8 @@ void G4System::init(ConstructionWrapper &CW){
|
||||
// G4VisExecutive can take a verbosity argument - see /vis/verbose guidance.
|
||||
// G4VisManager* visManager = new G4VisExecutive("Quiet");
|
||||
|
||||
}
|
||||
visManager->Initialize();
|
||||
}
|
||||
|
||||
// Get the pointer to the User Interface manager
|
||||
UImanager = G4UImanager::GetUIpointer();
|
||||
|
||||
Reference in New Issue
Block a user