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

#include <G4HyperonFTFPBuilder.hh>

+ Inheritance diagram for G4HyperonFTFPBuilder:

Public Member Functions

 G4HyperonFTFPBuilder (G4bool quasiElastic=false)
 
virtual ~G4HyperonFTFPBuilder ()
 
virtual void Build (G4HadronElasticProcess *) final override
 
virtual void Build (G4LambdaInelasticProcess *aP) final override
 
virtual void Build (G4AntiLambdaInelasticProcess *aP) final override
 
virtual void Build (G4SigmaMinusInelasticProcess *aP) final override
 
virtual void Build (G4AntiSigmaMinusInelasticProcess *aP) final override
 
virtual void Build (G4SigmaPlusInelasticProcess *aP) final override
 
virtual void Build (G4AntiSigmaPlusInelasticProcess *aP) final override
 
virtual void Build (G4XiMinusInelasticProcess *aP) final override
 
virtual void Build (G4AntiXiMinusInelasticProcess *aP) final override
 
virtual void Build (G4XiZeroInelasticProcess *aP) final override
 
virtual void Build (G4AntiXiZeroInelasticProcess *aP) final override
 
virtual void Build (G4OmegaMinusInelasticProcess *aP) final override
 
virtual void Build (G4AntiOmegaMinusInelasticProcess *aP) final override
 
virtual void SetMinEnergy (G4double val) final override
 
virtual void SetMaxEnergy (G4double val) final override
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4LambdaInelasticProcess *aP)=0
 
virtual void Build (G4AntiLambdaInelasticProcess *aP)=0
 
virtual void Build (G4SigmaMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiSigmaMinusInelasticProcess *aP)=0
 
virtual void Build (G4SigmaPlusInelasticProcess *aP)=0
 
virtual void Build (G4AntiSigmaPlusInelasticProcess *aP)=0
 
virtual void Build (G4XiMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiXiMinusInelasticProcess *aP)=0
 
virtual void Build (G4XiZeroInelasticProcess *aP)=0
 
virtual void Build (G4AntiXiZeroInelasticProcess *aP)=0
 
virtual void Build (G4OmegaMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiOmegaMinusInelasticProcess *aP)=0
 
- Public Member Functions inherited from G4VHyperonBuilder
 G4VHyperonBuilder ()=default
 
virtual ~G4VHyperonBuilder ()
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4LambdaInelasticProcess *aP)=0
 
virtual void Build (G4AntiLambdaInelasticProcess *aP)=0
 
virtual void Build (G4SigmaMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiSigmaMinusInelasticProcess *aP)=0
 
virtual void Build (G4SigmaPlusInelasticProcess *aP)=0
 
virtual void Build (G4AntiSigmaPlusInelasticProcess *aP)=0
 
virtual void Build (G4XiMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiXiMinusInelasticProcess *aP)=0
 
virtual void Build (G4XiZeroInelasticProcess *aP)=0
 
virtual void Build (G4AntiXiZeroInelasticProcess *aP)=0
 
virtual void Build (G4OmegaMinusInelasticProcess *aP)=0
 
virtual void Build (G4AntiOmegaMinusInelasticProcess *aP)=0
 
virtual void Build ()
 
- Public Member Functions inherited from G4PhysicsBuilderInterface
 G4PhysicsBuilderInterface ()=default
 
virtual ~G4PhysicsBuilderInterface ()
 
virtual void Build ()
 
virtual void RegisterMe (G4PhysicsBuilderInterface *)
 
virtual void SetMinEnergy (G4double)
 
virtual void SetMaxEnergy (G4double)
 

Detailed Description

Definition at line 50 of file G4HyperonFTFPBuilder.hh.

Constructor & Destructor Documentation

◆ G4HyperonFTFPBuilder()

G4HyperonFTFPBuilder::G4HyperonFTFPBuilder ( G4bool  quasiElastic = false)

Definition at line 66 of file G4HyperonFTFPBuilder.cc.

66 {
67 // The following energy limits refer to FTFP only and only for hyperons
68 // (for antihyperons, the min energy is assumed to be 0.0; the max is the same as for hyperons)
71 // Hyperon : Bertini at low energies, then FTFP
72 theHyperonFTFP = new G4TheoFSGenerator( "FTFP" );
73 theHyperonFTFP->SetMinEnergy( theMin );
74 theHyperonFTFP->SetMaxEnergy( theMax );
75 G4FTFModel* theStringModel = new G4FTFModel;
76 theStringModel->SetFragmentationModel( new G4ExcitedStringDecay );
78 theHyperonFTFP->SetTransport( theCascade );
79 theHyperonFTFP->SetHighEnergyGenerator( theStringModel );
80 if ( quasiElastic ) theHyperonFTFP->SetQuasiElasticChannel( new G4QuasiElasticChannel );
81
82 theBertini = new G4CascadeInterface;
83 theBertini->SetMinEnergy( 0.0 );
84 theBertini->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergyTransitionFTF_Cascade() );
85
86 // AntiHyperons: Use FTFP for full energy range, starting at 0.
87 theAntiHyperonFTFP = new G4TheoFSGenerator( "FTFP" );
88 theAntiHyperonFTFP->SetMinEnergy( 0.0 );
89 theAntiHyperonFTFP->SetMaxEnergy( theMax );
90 theAntiHyperonFTFP->SetTransport( theCascade );
91 theAntiHyperonFTFP->SetHighEnergyGenerator( theStringModel );
92 if ( quasiElastic ) theAntiHyperonFTFP->SetQuasiElasticChannel( new G4QuasiElasticChannel );
93
94 // use Glauber-Gribov cross sections
95 theInelasticCrossSection = new G4CrossSectionInelastic( new G4ComponentGGHadronNucleusXsc );
96}
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
G4double GetMinEnergyTransitionFTF_Cascade() const
G4double GetMaxEnergy() const
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetQuasiElasticChannel(G4QuasiElasticChannel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetFragmentationModel(G4VStringFragmentation *aModel)

◆ ~G4HyperonFTFPBuilder()

G4HyperonFTFPBuilder::~G4HyperonFTFPBuilder ( )
virtual

Definition at line 99 of file G4HyperonFTFPBuilder.cc.

99{}

Member Function Documentation

◆ Build() [1/26]

void G4HyperonFTFPBuilder::Build ( G4AntiLambdaInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 110 of file G4HyperonFTFPBuilder.cc.

110 {
111 theAntiHyperonFTFP->SetMaxEnergy( theMax );
112 aP->RegisterMe( theAntiHyperonFTFP );
113 aP->AddDataSet( theInelasticCrossSection );
114}
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)

◆ Build() [2/26]

virtual void G4VHyperonBuilder::Build ( G4AntiLambdaInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [3/26]

void G4HyperonFTFPBuilder::Build ( G4AntiOmegaMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 185 of file G4HyperonFTFPBuilder.cc.

185 {
186 theAntiHyperonFTFP->SetMaxEnergy( theMax );
187 aP->RegisterMe( theAntiHyperonFTFP );
188 aP->AddDataSet( theInelasticCrossSection );
189}

◆ Build() [4/26]

virtual void G4VHyperonBuilder::Build ( G4AntiOmegaMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [5/26]

void G4HyperonFTFPBuilder::Build ( G4AntiSigmaMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 125 of file G4HyperonFTFPBuilder.cc.

125 {
126 theAntiHyperonFTFP->SetMaxEnergy( theMax );
127 aP->RegisterMe( theAntiHyperonFTFP );
128 aP->AddDataSet( theInelasticCrossSection );
129}

◆ Build() [6/26]

virtual void G4VHyperonBuilder::Build ( G4AntiSigmaMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [7/26]

void G4HyperonFTFPBuilder::Build ( G4AntiSigmaPlusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 140 of file G4HyperonFTFPBuilder.cc.

140 {
141 theAntiHyperonFTFP->SetMaxEnergy( theMax );
142 aP->RegisterMe( theAntiHyperonFTFP );
143 aP->AddDataSet( theInelasticCrossSection );
144}

◆ Build() [8/26]

virtual void G4VHyperonBuilder::Build ( G4AntiSigmaPlusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [9/26]

void G4HyperonFTFPBuilder::Build ( G4AntiXiMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 155 of file G4HyperonFTFPBuilder.cc.

155 {
156 theAntiHyperonFTFP->SetMaxEnergy( theMax );
157 aP->RegisterMe( theAntiHyperonFTFP );
158 aP->AddDataSet( theInelasticCrossSection );
159}

◆ Build() [10/26]

virtual void G4VHyperonBuilder::Build ( G4AntiXiMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [11/26]

void G4HyperonFTFPBuilder::Build ( G4AntiXiZeroInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 170 of file G4HyperonFTFPBuilder.cc.

170 {
171 theAntiHyperonFTFP->SetMaxEnergy( theMax );
172 aP->RegisterMe( theAntiHyperonFTFP );
173 aP->AddDataSet( theInelasticCrossSection );
174}

◆ Build() [12/26]

virtual void G4VHyperonBuilder::Build ( G4AntiXiZeroInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [13/26]

virtual void G4HyperonFTFPBuilder::Build ( G4HadronElasticProcess )
inlinefinaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 55 of file G4HyperonFTFPBuilder.hh.

55{}

◆ Build() [14/26]

virtual void G4VHyperonBuilder::Build ( G4HadronElasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [15/26]

void G4HyperonFTFPBuilder::Build ( G4LambdaInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 102 of file G4HyperonFTFPBuilder.cc.

102 {
103 theHyperonFTFP->SetMinEnergy( theMin );
104 theHyperonFTFP->SetMaxEnergy( theMax );
105 aP->RegisterMe( theBertini );
106 aP->RegisterMe( theHyperonFTFP );
107 aP->AddDataSet( theInelasticCrossSection );
108}

◆ Build() [16/26]

virtual void G4VHyperonBuilder::Build ( G4LambdaInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [17/26]

void G4HyperonFTFPBuilder::Build ( G4OmegaMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 177 of file G4HyperonFTFPBuilder.cc.

177 {
178 theHyperonFTFP->SetMinEnergy( theMin );
179 theHyperonFTFP->SetMaxEnergy( theMax );
180 aP->RegisterMe( theBertini );
181 aP->RegisterMe( theHyperonFTFP );
182 aP->AddDataSet( theInelasticCrossSection );
183}

◆ Build() [18/26]

virtual void G4VHyperonBuilder::Build ( G4OmegaMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [19/26]

void G4HyperonFTFPBuilder::Build ( G4SigmaMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 117 of file G4HyperonFTFPBuilder.cc.

117 {
118 theHyperonFTFP->SetMinEnergy( theMin );
119 theHyperonFTFP->SetMaxEnergy( theMax );
120 aP->RegisterMe( theBertini );
121 aP->RegisterMe( theHyperonFTFP );
122 aP->AddDataSet( theInelasticCrossSection );
123}

◆ Build() [20/26]

virtual void G4VHyperonBuilder::Build ( G4SigmaMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [21/26]

void G4HyperonFTFPBuilder::Build ( G4SigmaPlusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 132 of file G4HyperonFTFPBuilder.cc.

132 {
133 theHyperonFTFP->SetMinEnergy( theMin );
134 theHyperonFTFP->SetMaxEnergy( theMax );
135 aP->RegisterMe( theBertini );
136 aP->RegisterMe( theHyperonFTFP );
137 aP->AddDataSet( theInelasticCrossSection );
138}

◆ Build() [22/26]

virtual void G4VHyperonBuilder::Build ( G4SigmaPlusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [23/26]

void G4HyperonFTFPBuilder::Build ( G4XiMinusInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 147 of file G4HyperonFTFPBuilder.cc.

147 {
148 theHyperonFTFP->SetMinEnergy( theMin );
149 theHyperonFTFP->SetMaxEnergy( theMax );
150 aP->RegisterMe( theBertini );
151 aP->RegisterMe( theHyperonFTFP );
152 aP->AddDataSet( theInelasticCrossSection );
153}

◆ Build() [24/26]

virtual void G4VHyperonBuilder::Build ( G4XiMinusInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ Build() [25/26]

void G4HyperonFTFPBuilder::Build ( G4XiZeroInelasticProcess aP)
finaloverridevirtual

Implements G4VHyperonBuilder.

Definition at line 162 of file G4HyperonFTFPBuilder.cc.

162 {
163 theHyperonFTFP->SetMinEnergy( theMin );
164 theHyperonFTFP->SetMaxEnergy( theMax );
165 aP->RegisterMe( theBertini );
166 aP->RegisterMe( theHyperonFTFP );
167 aP->AddDataSet( theInelasticCrossSection );
168}

◆ Build() [26/26]

virtual void G4VHyperonBuilder::Build ( G4XiZeroInelasticProcess aP)
virtual

Implements G4VHyperonBuilder.

◆ SetMaxEnergy()

virtual void G4HyperonFTFPBuilder::SetMaxEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 73 of file G4HyperonFTFPBuilder.hh.

73{ theMax = val; }

◆ SetMinEnergy()

virtual void G4HyperonFTFPBuilder::SetMinEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 72 of file G4HyperonFTFPBuilder.hh.

72{ theMin = val; }

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