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

#include <G4QGSPAntiBarionBuilder.hh>

+ Inheritance diagram for G4QGSPAntiBarionBuilder:

Public Member Functions

 G4QGSPAntiBarionBuilder (G4bool quasiElastic=false)
 
virtual ~G4QGSPAntiBarionBuilder ()
 
virtual void Build (G4HadronElasticProcess *) final override
 
virtual void Build (G4AntiProtonInelasticProcess *aP) final override
 
virtual void Build (G4AntiNeutronInelasticProcess *aP) final override
 
virtual void Build (G4AntiDeuteronInelasticProcess *) final override
 
virtual void Build (G4AntiTritonInelasticProcess *) final override
 
virtual void Build (G4AntiHe3InelasticProcess *) final override
 
virtual void Build (G4AntiAlphaInelasticProcess *) 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 (G4AntiProtonInelasticProcess *aP)=0
 
virtual void Build (G4AntiNeutronInelasticProcess *aP)=0
 
virtual void Build (G4AntiDeuteronInelasticProcess *aP)=0
 
virtual void Build (G4AntiTritonInelasticProcess *aP)=0
 
virtual void Build (G4AntiHe3InelasticProcess *aP)=0
 
virtual void Build (G4AntiAlphaInelasticProcess *aP)=0
 
- Public Member Functions inherited from G4VAntiBarionBuilder
 G4VAntiBarionBuilder ()=default
 
virtual ~G4VAntiBarionBuilder ()
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4AntiProtonInelasticProcess *aP)=0
 
virtual void Build (G4AntiNeutronInelasticProcess *aP)=0
 
virtual void Build (G4AntiDeuteronInelasticProcess *aP)=0
 
virtual void Build (G4AntiTritonInelasticProcess *aP)=0
 
virtual void Build (G4AntiHe3InelasticProcess *aP)=0
 
virtual void Build (G4AntiAlphaInelasticProcess *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 49 of file G4QGSPAntiBarionBuilder.hh.

Constructor & Destructor Documentation

◆ G4QGSPAntiBarionBuilder()

G4QGSPAntiBarionBuilder::G4QGSPAntiBarionBuilder ( G4bool  quasiElastic = false)

Definition at line 54 of file G4QGSPAntiBarionBuilder.cc.

54 {
56 G4VComponentCrossSection* theAntiNucleonXS = xsreg->GetComponentCrossSection( "AntiAGlauber" );
57 if ( ! theAntiNucleonXS ) theAntiNucleonXS = new G4ComponentAntiNuclNuclearXS;
58 theAntiNucleonData = new G4CrossSectionInelastic( theAntiNucleonXS );
61 // The main model, QGSP, applicable only for anti_proton and anti_neutron
62 theQGSmodel = new G4TheoFSGenerator( "QGSP" );
65 theStringModel->SetFragmentationModel( theStringDecay );
67 theQGSmodel->SetTransport( theCascade );
68 theQGSmodel->SetHighEnergyGenerator( theStringModel );
69 if ( quasiElastic ) theQGSmodel->SetQuasiElasticChannel( new G4QuasiElasticChannel );
70 theQGSmodel->SetTransport(theCascade);
71 theQGSmodel->SetMinEnergy( theMin );
72 theQGSmodel->SetMaxEnergy( theMax );
73 // The auxilary model, FTFP, needed for anti_deuteron, anti_triton, anti_He3 and anti_alpha
74 theFTFmodel = new G4TheoFSGenerator( "FTFP" );
75 G4FTFModel* theStringModel2 = new G4FTFModel;
76 theStringModel2->SetFragmentationModel( new G4ExcitedStringDecay );
78 theFTFmodel->SetHighEnergyGenerator( theStringModel2 );
79 G4double quasiElasticFTF = false; // Use built-in quasi-elastic (not add-on)
80 if ( quasiElasticFTF ) theFTFmodel->SetQuasiElasticChannel( new G4QuasiElasticChannel );
81 theFTFmodel->SetTransport( theCascade2 );
82 theFTFmodel->SetMinEnergy( theMin );
83 theFTFmodel->SetMaxEnergy( theMax );
84}
double G4double
Definition: G4Types.hh:83
G4VComponentCrossSection * GetComponentCrossSection(const G4String &name)
static G4CrossSectionDataSetRegistry * Instance()
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
G4double GetMinEnergyTransitionQGS_FTF() const
G4double GetMaxEnergy() const
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetQuasiElasticChannel(G4QuasiElasticChannel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetFragmentationModel(G4VStringFragmentation *aModel)

◆ ~G4QGSPAntiBarionBuilder()

virtual G4QGSPAntiBarionBuilder::~G4QGSPAntiBarionBuilder ( )
inlinevirtual

Definition at line 52 of file G4QGSPAntiBarionBuilder.hh.

52{};

Member Function Documentation

◆ Build() [1/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiAlphaInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 130 of file G4QGSPAntiBarionBuilder.cc.

130 {
131 // For the time being QGSP cannot handle anti_alpha: use FTFP
132 theFTFmodel->SetMinEnergy( theMin );
133 theFTFmodel->SetMaxEnergy( theMax );
134 aP->AddDataSet( theAntiNucleonData );
135 aP->RegisterMe( theFTFmodel );
136}
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)

◆ Build() [2/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiAlphaInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [3/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiDeuteronInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 103 of file G4QGSPAntiBarionBuilder.cc.

103 {
104 // For the time being QGSP cannot handle anti_deuteron: use FTFP
105 theFTFmodel->SetMinEnergy( theMin );
106 theFTFmodel->SetMaxEnergy( theMax );
107 aP->AddDataSet( theAntiNucleonData );
108 aP->RegisterMe( theFTFmodel );
109}

◆ Build() [4/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiDeuteronInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [5/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiHe3InelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 121 of file G4QGSPAntiBarionBuilder.cc.

121 {
122 // For the time being QGSP cannot handle anti_He3: use FTFP
123 theFTFmodel->SetMinEnergy( theMin );
124 theFTFmodel->SetMaxEnergy( theMax );
125 aP->AddDataSet( theAntiNucleonData );
126 aP->RegisterMe( theFTFmodel );
127}

◆ Build() [6/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiHe3InelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [7/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiNeutronInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 95 of file G4QGSPAntiBarionBuilder.cc.

95 {
96 theQGSmodel->SetMinEnergy( theMin );
97 theQGSmodel->SetMaxEnergy( theMax );
98 aP->AddDataSet( theAntiNucleonData );
99 aP->RegisterMe( theQGSmodel );
100}

◆ Build() [8/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiNeutronInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [9/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiProtonInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 87 of file G4QGSPAntiBarionBuilder.cc.

87 {
88 theQGSmodel->SetMinEnergy( theMin );
89 theQGSmodel->SetMaxEnergy( theMax );
90 aP->AddDataSet( theAntiNucleonData );
91 aP->RegisterMe( theQGSmodel );
92}

◆ Build() [10/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiProtonInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [11/14]

void G4QGSPAntiBarionBuilder::Build ( G4AntiTritonInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 112 of file G4QGSPAntiBarionBuilder.cc.

112 {
113 // For the time being QGSP cannot handle anti_triton: use FTFP
114 theFTFmodel->SetMinEnergy( theMin );
115 theFTFmodel->SetMaxEnergy( theMax );
116 aP->AddDataSet( theAntiNucleonData );
117 aP->RegisterMe( theFTFmodel );
118}

◆ Build() [12/14]

virtual void G4VAntiBarionBuilder::Build ( G4AntiTritonInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [13/14]

virtual void G4QGSPAntiBarionBuilder::Build ( G4HadronElasticProcess )
inlinefinaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 54 of file G4QGSPAntiBarionBuilder.hh.

54{}

◆ Build() [14/14]

virtual void G4VAntiBarionBuilder::Build ( G4HadronElasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ SetMaxEnergy()

virtual void G4QGSPAntiBarionBuilder::SetMaxEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 63 of file G4QGSPAntiBarionBuilder.hh.

63{ theMax = val; }

◆ SetMinEnergy()

virtual void G4QGSPAntiBarionBuilder::SetMinEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 62 of file G4QGSPAntiBarionBuilder.hh.

62{ theMin = val; }

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