Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4BertiniElectroNuclearBuilder Class Reference

#include <G4BertiniElectroNuclearBuilder.hh>

+ Inheritance diagram for G4BertiniElectroNuclearBuilder:

Public Member Functions

 G4BertiniElectroNuclearBuilder (G4bool eNucl)
 
virtual ~G4BertiniElectroNuclearBuilder ()=default
 
virtual void Build ()
 
G4BertiniElectroNuclearBuilderoperator= (const G4BertiniElectroNuclearBuilder &right)=delete
 
 G4BertiniElectroNuclearBuilder (const G4BertiniElectroNuclearBuilder &)=delete
 

Protected Attributes

G4HadronInelasticProcessthePhotoNuclearProcess {nullptr}
 
G4CascadeInterfacetheGammaReaction {nullptr}
 
G4bool eActivated
 

Detailed Description

Definition at line 33 of file G4BertiniElectroNuclearBuilder.hh.

Constructor & Destructor Documentation

◆ G4BertiniElectroNuclearBuilder() [1/2]

G4BertiniElectroNuclearBuilder::G4BertiniElectroNuclearBuilder ( G4bool eNucl)
explicit

◆ ~G4BertiniElectroNuclearBuilder()

virtual G4BertiniElectroNuclearBuilder::~G4BertiniElectroNuclearBuilder ( )
virtualdefault

◆ G4BertiniElectroNuclearBuilder() [2/2]

G4BertiniElectroNuclearBuilder::G4BertiniElectroNuclearBuilder ( const G4BertiniElectroNuclearBuilder & )
delete

Member Function Documentation

◆ Build()

void G4BertiniElectroNuclearBuilder::Build ( )
virtual

Reimplemented in G4LENDBertiniGammaElectroNuclearBuilder.

Definition at line 75 of file G4BertiniElectroNuclearBuilder.cc.

76{
77 // gamma
81
82 auto theModel = new G4TheoFSGenerator;
83
84 auto theStringModel = new G4QGSModel< G4GammaParticipants >;
85 auto theStringDecay = new G4ExcitedStringDecay( new G4QGSMFragmentation() );
86 theStringModel->SetFragmentationModel(theStringDecay);
87
88 auto theCascade = new G4GeneratorPrecompoundInterface();
89
90 theModel->SetTransport(theCascade);
91 theModel->SetHighEnergyGenerator(theStringModel);
92
93 G4ProcessManager* aProcMan = nullptr;
94
97 theModel->SetMinEnergy(3.*GeV);
98 theModel->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
100
103 if ( nullptr != sp ) {
104 sp->AddHadProcess(thePhotoNuclearProcess);
105 } else {
106 aProcMan = G4Gamma::Gamma()->GetProcessManager();
108 }
109
110 // e+, e-
111 if (eActivated) {
112
113 auto theElectronNuclearProcess = new G4ElectronNuclearProcess();
114 auto thePositronNuclearProcess = new G4PositronNuclearProcess();
115 auto theElectroReaction = new G4ElectroVDNuclearModel();
116
118 theElectronNuclearProcess->RegisterMe(theElectroReaction);
119 aProcMan->AddDiscreteProcess(theElectronNuclearProcess);
120
122 thePositronNuclearProcess->RegisterMe(theElectroReaction);
123 aProcMan->AddDiscreteProcess(thePositronNuclearProcess);
124 }
125}
G4HadronInelasticProcess * thePhotoNuclearProcess
static G4Electron * Electron()
Definition G4Electron.cc:91
static G4Gamma * Gamma()
Definition G4Gamma.cc:81
static G4Gamma * Definition()
Definition G4Gamma.cc:43
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)
static G4LossTableManager * Instance()
G4VEmProcess * GetGammaGeneralProcess()
G4ProcessManager * GetProcessManager() const
static G4Positron * Positron()
Definition G4Positron.cc:90
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)

Referenced by G4LENDBertiniGammaElectroNuclearBuilder::Build().

◆ operator=()

G4BertiniElectroNuclearBuilder & G4BertiniElectroNuclearBuilder::operator= ( const G4BertiniElectroNuclearBuilder & right)
delete

Member Data Documentation

◆ eActivated

G4bool G4BertiniElectroNuclearBuilder::eActivated
protected

Definition at line 50 of file G4BertiniElectroNuclearBuilder.hh.

Referenced by Build().

◆ theGammaReaction

G4CascadeInterface* G4BertiniElectroNuclearBuilder::theGammaReaction {nullptr}
protected

Definition at line 48 of file G4BertiniElectroNuclearBuilder.hh.

48{nullptr};

Referenced by Build(), and G4LENDBertiniGammaElectroNuclearBuilder::Build().

◆ thePhotoNuclearProcess

G4HadronInelasticProcess* G4BertiniElectroNuclearBuilder::thePhotoNuclearProcess {nullptr}
protected

Definition at line 47 of file G4BertiniElectroNuclearBuilder.hh.

47{nullptr};

Referenced by Build(), and G4LENDBertiniGammaElectroNuclearBuilder::Build().


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