LDMX Software
Public Member Functions | Private Attributes | List of all members
simcore::BertiniSingleNeutronModel Class Reference

Public Member Functions

 BertiniSingleNeutronModel (const std::string &name, const framework::config::Parameters &parameters)
 
void ConstructGammaProcess (G4ProcessManager *processManager) override
 The primary part of the model interface, responsible for adding the desired G4HadronicInteraction to the process manager for the G4Gamma class.
 
- Public Member Functions inherited from simcore::PhotoNuclearModel
 PhotoNuclearModel (const std::string &name, const framework::config::Parameters &parameters)
 Base class does not take any parameters or do anything in particular, but any derived class may.
 
virtual void removeExistingModel (G4ProcessManager *processManager)
 Removes any existing photonNuclear process from the process manager of the G4Gamma class.
 
virtual void addPNCrossSectionData (G4HadronInelasticProcess *process) const
 Default implementation for adding XS data for the process.
 

Private Attributes

double threshold_
 
int Zmin_
 
double Emin_
 
bool count_light_ions_
 

Additional Inherited Members

- Public Types inherited from simcore::PhotoNuclearModel
using Factory = ::simcore::Factory< PhotoNuclearModel, std::shared_ptr< PhotoNuclearModel >, const std::string &, const framework::config::Parameters & >
 The factory for PhotoNuclearModels.
 

Detailed Description

Definition at line 37 of file BertiniSingleNeutronModel.h.

Constructor & Destructor Documentation

◆ BertiniSingleNeutronModel()

simcore::BertiniSingleNeutronModel::BertiniSingleNeutronModel ( const std::string &  name,
const framework::config::Parameters parameters 
)
inline

Definition at line 39 of file BertiniSingleNeutronModel.h.

41 : PhotoNuclearModel{name, parameters},
42 threshold_{parameters.getParameter<double>("hard_particle_threshold")},
43 Zmin_{parameters.getParameter<int>("zmin")},
44 Emin_{parameters.getParameter<double>("emin")},
45 count_light_ions_{parameters.getParameter<bool>("count_light_ions")} {}
T getParameter(const std::string &name) const
Retrieve the parameter of the given name.
Definition Parameters.h:89
PhotoNuclearModel(const std::string &name, const framework::config::Parameters &parameters)
Base class does not take any parameters or do anything in particular, but any derived class may.

Member Function Documentation

◆ ConstructGammaProcess()

void simcore::BertiniSingleNeutronModel::ConstructGammaProcess ( G4ProcessManager *  processManager)
overridevirtual

The primary part of the model interface, responsible for adding the desired G4HadronicInteraction to the process manager for the G4Gamma class.

Parameters
[in]processManagerthe process manager for the G4Gamma class, passed in automatically by the GammaPhysics module.

Implements simcore::PhotoNuclearModel.

Definition at line 26 of file BertiniSingleNeutronModel.cxx.

27 {
28 auto photoNuclearProcess{
29 new G4HadronInelasticProcess("photonNuclear", G4Gamma::Definition())};
30 auto model{new BertiniSingleNeutronProcess{threshold_, Zmin_, Emin_,
31 count_light_ions_}};
32 model->SetMaxEnergy(15 * CLHEP::GeV);
33 addPNCrossSectionData(photoNuclearProcess);
34 photoNuclearProcess->RegisterMe(model);
35 processManager->AddDiscreteProcess(photoNuclearProcess);
36}
virtual void addPNCrossSectionData(G4HadronInelasticProcess *process) const
Default implementation for adding XS data for the process.

References simcore::PhotoNuclearModel::addPNCrossSectionData().

Member Data Documentation

◆ count_light_ions_

bool simcore::BertiniSingleNeutronModel::count_light_ions_
private

Definition at line 53 of file BertiniSingleNeutronModel.h.

◆ Emin_

double simcore::BertiniSingleNeutronModel::Emin_
private

Definition at line 52 of file BertiniSingleNeutronModel.h.

◆ threshold_

double simcore::BertiniSingleNeutronModel::threshold_
private

Definition at line 50 of file BertiniSingleNeutronModel.h.

◆ Zmin_

int simcore::BertiniSingleNeutronModel::Zmin_
private

Definition at line 51 of file BertiniSingleNeutronModel.h.


The documentation for this class was generated from the following files: