fixes
This commit is contained in:
@@ -53,14 +53,18 @@ class ActionInitialization : public G4VUserActionInitialization
|
||||
void Build() const override;
|
||||
|
||||
void setGeneratorProperties(G4double minEnergy, G4double maxEnergy, G4String partSpecies){
|
||||
this->minEnergy = minEnergy;
|
||||
this->maxEnergy = maxEnergy;
|
||||
this->partSpecies = partSpecies;
|
||||
if(gen==nullptr){
|
||||
throw std::runtime_error("PrimaryGeneratorAction not found");
|
||||
}
|
||||
gen->setMinPartEnergy(minEnergy);
|
||||
gen->setMaxPartEnergy(maxEnergy);
|
||||
gen->setPartSpecies(partSpecies);
|
||||
G4cout << "ActionInitialization: Setting particle species to " << partSpecies << G4endl;
|
||||
}
|
||||
|
||||
private:
|
||||
B4::DetectorConstruction* fDetConstruction = nullptr;
|
||||
mutable B4::PrimaryGeneratorAction * gen = nullptr;
|
||||
G4double minEnergy=1000;
|
||||
G4double maxEnergy=1000;
|
||||
G4String partSpecies="e-";
|
||||
|
||||
@@ -90,9 +90,9 @@ public:
|
||||
private:
|
||||
G4ParticleGun* fParticleGun = nullptr; // G4 particle gun
|
||||
G4double partEnergy;
|
||||
G4double minPartEnergy; //MeV
|
||||
G4double maxPartEnergy;
|
||||
G4String partSpecies;
|
||||
G4double minPartEnergy=100; //MeV
|
||||
G4double maxPartEnergy=100;
|
||||
G4String partSpecies="e-";
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ void ActionInitialization::BuildForMaster() const
|
||||
|
||||
void ActionInitialization::Build() const
|
||||
{
|
||||
auto gen = new PrimaryGeneratorAction;
|
||||
gen = new PrimaryGeneratorAction;
|
||||
gen->setMinPartEnergy(minEnergy);
|
||||
gen->setMaxPartEnergy(maxEnergy);
|
||||
gen->setPartSpecies(partSpecies);
|
||||
|
||||
@@ -29,7 +29,7 @@ void SystemBuilder::init(ConstructionWrapper &CW, bool gui){
|
||||
actionInitialization = new B4a::ActionInitialization(detConstruction);
|
||||
runManager->SetUserInitialization(actionInitialization);
|
||||
|
||||
actionInitialization->setGeneratorProperties(100, 10000, "e-");
|
||||
//actionInitialization->setGeneratorProperties(100, 10000, "e-");
|
||||
|
||||
// Initialize visualization
|
||||
//
|
||||
@@ -62,7 +62,7 @@ void SystemBuilder::run_gui(){
|
||||
void SystemBuilder::run_batch(int nEvents,const std::string& partSpecies, double minEnergy, double maxEnergy){
|
||||
G4String partSpec = partSpecies;
|
||||
G4cout << "running with particle species " << partSpec << G4endl;
|
||||
actionInitialization->setGeneratorProperties(minEnergy, maxEnergy, partSpec);
|
||||
UImanager->ApplyCommand("/run/initialize");
|
||||
actionInitialization->setGeneratorProperties(minEnergy, maxEnergy, partSpec);
|
||||
runManager->BeamOn(nEvents);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user