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

#include <G4FTFPProtonBuilder.hh>

Inheritance diagram for G4FTFPProtonBuilder:

Public Member Functions

 G4FTFPProtonBuilder (G4bool quasiElastic=false)
 ~G4FTFPProtonBuilder () override=default
void Build (G4HadronElasticProcess *) override
void Build (G4HadronInelasticProcess *aP) override
void SetMinEnergy (G4double aM) override
void SetMaxEnergy (G4double aM) override
Public Member Functions inherited from G4VProtonBuilder
 G4VProtonBuilder ()=default
 ~G4VProtonBuilder () override=default
virtual void Build ()
Public Member Functions inherited from G4PhysicsBuilderInterface
 G4PhysicsBuilderInterface ()=default
virtual ~G4PhysicsBuilderInterface ()=default
virtual void RegisterMe (G4PhysicsBuilderInterface *)

Detailed Description

Definition at line 49 of file G4FTFPProtonBuilder.hh.

Constructor & Destructor Documentation

◆ G4FTFPProtonBuilder()

G4FTFPProtonBuilder::G4FTFPProtonBuilder ( G4bool quasiElastic = false)

Definition at line 54 of file G4FTFPProtonBuilder.cc.

56{
59 theModel = new G4TheoFSGenerator("FTFP");
60
61 G4FTFModel* theStringModel = new G4FTFModel();
62 theStringModel->SetFragmentationModel(new G4ExcitedStringDecay());
63
64 G4GeneratorPrecompoundInterface* theCascade =
65 new G4GeneratorPrecompoundInterface();
66
67 theModel->SetHighEnergyGenerator(theStringModel);
68 if (quasiElastic) {
69 theModel->SetQuasiElasticChannel(new G4QuasiElasticChannel());
70 }
71
72 theModel->SetTransport(theCascade);
73 theModel->SetMinEnergy(theMin);
74 theModel->SetMaxEnergy(theMax);
75}
static G4HadronicParameters * Instance()
G4double GetMinEnergyTransitionFTF_Cascade() const
void SetFragmentationModel(G4VStringFragmentation *aModel)

◆ ~G4FTFPProtonBuilder()

G4FTFPProtonBuilder::~G4FTFPProtonBuilder ( )
overridedefault

Member Function Documentation

◆ Build() [1/2]

void G4FTFPProtonBuilder::Build ( G4HadronElasticProcess * )
inlineoverridevirtual

◆ Build() [2/2]

void G4FTFPProtonBuilder::Build ( G4HadronInelasticProcess * aP)
overridevirtual

Implements G4VProtonBuilder.

Definition at line 77 of file G4FTFPProtonBuilder.cc.

79{
80 theModel->SetMinEnergy(theMin);
81 theModel->SetMaxEnergy(theMax);
82 aP->RegisterMe(theModel);
83
84 aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Proton::Proton()));
85}
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)
static G4Proton * Proton()
Definition G4Proton.cc:90

◆ SetMaxEnergy()

void G4FTFPProtonBuilder::SetMaxEnergy ( G4double aM)
inlineoverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 59 of file G4FTFPProtonBuilder.hh.

59{ theMax = aM; };

Referenced by G4HadronPhysicsQGSP_BERT::Proton(), and G4HadronPhysicsQGSP_BIC_AllHP::Proton().

◆ SetMinEnergy()

void G4FTFPProtonBuilder::SetMinEnergy ( G4double aM)
inlineoverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 58 of file G4FTFPProtonBuilder.hh.

58{ theMin = aM; };

Referenced by G4HadronPhysicsQGSP_BERT::Proton(), and G4HadronPhysicsQGSP_BIC_AllHP::Proton().


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