1#ifndef SIMCORE_BERTINI_SINGLE_NEUTRON_MODEL_H
2#define SIMCORE_BERTINI_SINGLE_NEUTRON_MODEL_H
3#include <G4CrossSectionDataSetRegistry.hh>
5#include <G4HadProjectile.hh>
6#include <G4HadronInelasticProcess.hh>
8#include <G4ProcessManager.hh>
10#include "Framework/Configure/Parameters.h"
11#include "SimCore/PhotoNuclearModel.h"
12#include "SimCore/PhotoNuclearModels/BertiniEventTopologyProcess.h"
17 bool count_light_ions)
19 threshold_{threshold},
23 bool acceptProjectile(
const G4HadProjectile& projectile)
const override {
24 return projectile.GetKineticEnergy() >= Emin_;
26 bool acceptTarget(
const G4Nucleus& targetNucleus)
const override {
27 return targetNucleus.GetZ_asInt() >= Zmin_;
29 bool acceptEvent()
const override;
42 threshold_{parameters.
getParameter<
double>(
"hard_particle_threshold")},
45 count_light_ions_{parameters.
getParameter<
bool>(
"count_light_ions")} {}
53 bool count_light_ions_;
Class encapsulating parameters for configuring a processor.
T getParameter(const std::string &name) const
Retrieve the parameter of the given name.
void ConstructGammaProcess(G4ProcessManager *processManager) override
The primary part of the model interface, responsible for adding the desired G4HadronicInteraction to ...