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

#include <G4QGSCNeutronBuilder.hh>

+ Inheritance diagram for G4QGSCNeutronBuilder:

Public Member Functions

 G4QGSCNeutronBuilder (G4bool quasiElastic=false)
 
virtual ~G4QGSCNeutronBuilder ()
 
virtual void Build (G4HadronElasticProcess *)
 
virtual void Build (G4HadronFissionProcess *)
 
virtual void Build (G4HadronCaptureProcess *)
 
virtual void Build (G4NeutronInelasticProcess *aP)
 
void SetMinEnergy (G4double aM)
 
- Public Member Functions inherited from G4VNeutronBuilder
 G4VNeutronBuilder ()
 
virtual ~G4VNeutronBuilder ()
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4HadronFissionProcess *aP)=0
 
virtual void Build (G4HadronCaptureProcess *aP)=0
 
virtual void Build (G4NeutronInelasticProcess *aP)=0
 

Detailed Description

Definition at line 58 of file G4QGSCNeutronBuilder.hh.

Constructor & Destructor Documentation

◆ G4QGSCNeutronBuilder()

G4QGSCNeutronBuilder::G4QGSCNeutronBuilder ( G4bool  quasiElastic = false)

Definition at line 46 of file G4QGSCNeutronBuilder.cc.

48 {
49 theMin = 8*GeV;
50 theModel = new G4TheoFSGenerator("QGSC");
51
52 theStringModel= new G4QGSModel< G4QGSParticipants >;
53 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation);
54 theStringModel->SetFragmentationModel(theStringDecay);
55
57
58 theModel->SetTransport(theCascade);
59 theModel->SetHighEnergyGenerator(theStringModel);
60 if (quasiElastic)
61 {
62 theQuasiElastic=new G4QuasiElasticChannel;
63 theModel->SetQuasiElasticChannel(theQuasiElastic);
64 } else
65 { theQuasiElastic=0;}
66 }
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetQuasiElasticChannel(G4QuasiElasticChannel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetFragmentationModel(G4VStringFragmentation *aModel)

◆ ~G4QGSCNeutronBuilder()

G4QGSCNeutronBuilder::~G4QGSCNeutronBuilder ( )
virtual

Definition at line 68 of file G4QGSCNeutronBuilder.cc.

69 {
70 delete theStringDecay;
71 delete theStringModel;
72 delete theCascade;
73 if ( theQuasiElastic ) delete theQuasiElastic;
74 delete theModel;
75 }

Member Function Documentation

◆ Build() [1/4]

virtual void G4QGSCNeutronBuilder::Build ( G4HadronCaptureProcess )
inlinevirtual

Implements G4VNeutronBuilder.

Definition at line 67 of file G4QGSCNeutronBuilder.hh.

67{}

◆ Build() [2/4]

virtual void G4QGSCNeutronBuilder::Build ( G4HadronElasticProcess )
inlinevirtual

Implements G4VNeutronBuilder.

Definition at line 65 of file G4QGSCNeutronBuilder.hh.

65{}

◆ Build() [3/4]

virtual void G4QGSCNeutronBuilder::Build ( G4HadronFissionProcess )
inlinevirtual

Implements G4VNeutronBuilder.

Definition at line 66 of file G4QGSCNeutronBuilder.hh.

66{}

◆ Build() [4/4]

void G4QGSCNeutronBuilder::Build ( G4NeutronInelasticProcess aP)
virtual

Implements G4VNeutronBuilder.

Definition at line 77 of file G4QGSCNeutronBuilder.cc.

79 {
80 theModel->SetMinEnergy(theMin);
81 theModel->SetMaxEnergy(100*TeV);
82 aP->RegisterMe(theModel);
84 }
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)

◆ SetMinEnergy()

void G4QGSCNeutronBuilder::SetMinEnergy ( G4double  aM)
inline

Definition at line 70 of file G4QGSCNeutronBuilder.hh.

70{theMin = aM;}

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