Geant4-11
Public Member Functions | Private Attributes
G4QGSPAntiBarionBuilder Class Reference

#include <G4QGSPAntiBarionBuilder.hh>

Inheritance diagram for G4QGSPAntiBarionBuilder:
G4VAntiBarionBuilder G4PhysicsBuilderInterface

Public Member Functions

virtual void Build ()
 
virtual void Build (G4HadronElasticProcess *) final override
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4HadronInelasticProcess *aP) final override
 
virtual void Build (G4HadronInelasticProcess *aP)=0
 
 G4QGSPAntiBarionBuilder (G4bool quasiElastic=false)
 
virtual void RegisterMe (G4PhysicsBuilderInterface *)
 
virtual void SetMaxEnergy (G4double val) final override
 
virtual void SetMinEnergy (G4double val) final override
 
virtual ~G4QGSPAntiBarionBuilder ()
 

Private Attributes

G4VCrossSectionDataSettheAntiNucleonData
 
G4TheoFSGeneratortheFTFmodel
 
G4double theMax
 
G4double theMin
 
G4TheoFSGeneratortheQGSmodel
 

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 );
70 theQGSmodel->SetTransport(theCascade);
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 );
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
G4VCrossSectionDataSet * theAntiNucleonData
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetQuasiElasticChannel(G4QuasiElasticChannel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetFragmentationModel(G4VStringFragmentation *aModel)

References G4CrossSectionDataSetRegistry::GetComponentCrossSection(), G4HadronicParameters::GetMaxEnergy(), G4HadronicParameters::GetMinEnergyTransitionQGS_FTF(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicParameters::Instance(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), G4TheoFSGenerator::SetTransport(), theAntiNucleonData, theFTFmodel, theMax, theMin, and theQGSmodel.

◆ ~G4QGSPAntiBarionBuilder()

virtual G4QGSPAntiBarionBuilder::~G4QGSPAntiBarionBuilder ( )
inlinevirtual

Definition at line 52 of file G4QGSPAntiBarionBuilder.hh.

52{};

Member Function Documentation

◆ Build() [1/5]

virtual void G4PhysicsBuilderInterface::Build ( )
inlinevirtualinherited

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 46 of file G4PhysicsBuilderInterface.hh.

47 {
48 G4Exception("G4PhysicsBuilderInterface::Build", "PHYSBLD001",
50 "Called based class method. Should be implemented in"
51 " inherited class");
52 }
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

◆ Build() [2/5]

virtual void G4QGSPAntiBarionBuilder::Build ( G4HadronElasticProcess )
inlinefinaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 54 of file G4QGSPAntiBarionBuilder.hh.

54{}

◆ Build() [3/5]

virtual void G4VAntiBarionBuilder::Build ( G4HadronElasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ Build() [4/5]

void G4QGSPAntiBarionBuilder::Build ( G4HadronInelasticProcess aP)
finaloverridevirtual

Implements G4VAntiBarionBuilder.

Definition at line 87 of file G4QGSPAntiBarionBuilder.cc.

87 {
88 if ( aP->GetParticleDefinition() && aP->GetParticleDefinition()->GetBaryonNumber() < -1 ) {
89 // Light anti-ions: for the time being QGSP cannot be applied, use FTFP
93 } else {
94 // Anti-proton and anti-neutron: use QGSP
98 }
100}
const G4ParticleDefinition * GetParticleDefinition() const
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)

References G4HadronicProcess::AddDataSet(), G4ParticleDefinition::GetBaryonNumber(), G4HadronInelasticProcess::GetParticleDefinition(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), theAntiNucleonData, theFTFmodel, theMax, theMin, and theQGSmodel.

◆ Build() [5/5]

virtual void G4VAntiBarionBuilder::Build ( G4HadronInelasticProcess aP)
virtual

Implements G4VAntiBarionBuilder.

◆ RegisterMe()

virtual void G4PhysicsBuilderInterface::RegisterMe ( G4PhysicsBuilderInterface )
inlinevirtualinherited

◆ SetMaxEnergy()

virtual void G4QGSPAntiBarionBuilder::SetMaxEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 58 of file G4QGSPAntiBarionBuilder.hh.

58{ theMax = val; }

References theMax.

◆ SetMinEnergy()

virtual void G4QGSPAntiBarionBuilder::SetMinEnergy ( G4double  val)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 57 of file G4QGSPAntiBarionBuilder.hh.

57{ theMin = val; }

References theMin.

Field Documentation

◆ theAntiNucleonData

G4VCrossSectionDataSet* G4QGSPAntiBarionBuilder::theAntiNucleonData
private

Definition at line 65 of file G4QGSPAntiBarionBuilder.hh.

Referenced by Build(), and G4QGSPAntiBarionBuilder().

◆ theFTFmodel

G4TheoFSGenerator* G4QGSPAntiBarionBuilder::theFTFmodel
private

Definition at line 64 of file G4QGSPAntiBarionBuilder.hh.

Referenced by Build(), and G4QGSPAntiBarionBuilder().

◆ theMax

G4double G4QGSPAntiBarionBuilder::theMax
private

Definition at line 67 of file G4QGSPAntiBarionBuilder.hh.

Referenced by Build(), G4QGSPAntiBarionBuilder(), and SetMaxEnergy().

◆ theMin

G4double G4QGSPAntiBarionBuilder::theMin
private

Definition at line 66 of file G4QGSPAntiBarionBuilder.hh.

Referenced by Build(), G4QGSPAntiBarionBuilder(), and SetMinEnergy().

◆ theQGSmodel

G4TheoFSGenerator* G4QGSPAntiBarionBuilder::theQGSmodel
private

Definition at line 63 of file G4QGSPAntiBarionBuilder.hh.

Referenced by Build(), and G4QGSPAntiBarionBuilder().


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