Belle II Software development
PionPhysics Class Reference

Pion hadronic physics constructor for Belle II physics list. More...

#include <PionPhysics.h>

Inheritance diagram for PionPhysics:

Public Member Functions

virtual void ConstructParticle () override
 Build processes, models, cross sections used in physics list.
 
virtual void ConstructProcess () override
 Build all particle types used in physics list (empty in this class)
 

Private Attributes

G4TheoFSGenerator * m_ftfp
 Final state generator for QCD string models.
 
G4FTFModel * m_stringModel
 Fritiof string model.
 
G4ExcitedStringDecay * m_stringDecay
 Model to decay strings into hadrons.
 
G4LundStringFragmentation * m_fragModel
 Lund string fragmentation model.
 
G4GeneratorPrecompoundInterface * m_preCompoundModel
 Precompound model to deexcite post-collision nucleus.
 

Detailed Description

Pion hadronic physics constructor for Belle II physics list.

Definition at line 31 of file PionPhysics.h.

Constructor & Destructor Documentation

◆ PionPhysics()

Definition at line 33 of file PionPhysics.cc.

34 : m_ftfp(nullptr), m_stringModel(nullptr), m_stringDecay(nullptr),
35 m_fragModel(nullptr), m_preCompoundModel(nullptr)
36{}
G4GeneratorPrecompoundInterface * m_preCompoundModel
Precompound model to deexcite post-collision nucleus.
Definition: PionPhysics.h:56
G4TheoFSGenerator * m_ftfp
Final state generator for QCD string models.
Definition: PionPhysics.h:44
G4FTFModel * m_stringModel
Fritiof string model.
Definition: PionPhysics.h:47
G4ExcitedStringDecay * m_stringDecay
Model to decay strings into hadrons.
Definition: PionPhysics.h:50
G4LundStringFragmentation * m_fragModel
Lund string fragmentation model.
Definition: PionPhysics.h:53

◆ ~PionPhysics()

Definition at line 39 of file PionPhysics.cc.

40{
41 delete m_stringDecay;
42 delete m_stringModel;
43 delete m_fragModel;
44 delete m_preCompoundModel;
45}

Member Function Documentation

◆ ConstructParticle()

void ConstructParticle ( )
overridevirtual

Build processes, models, cross sections used in physics list.

Definition at line 48 of file PionPhysics.cc.

49{}

◆ ConstructProcess()

void ConstructProcess ( )
overridevirtual

Build all particle types used in physics list (empty in this class)

Definition at line 52 of file PionPhysics.cc.

53{
54 G4ProcessManager* procMan;
55
56 // Low energy elastic model
57 G4HadronElastic* loElModel = new G4HadronElastic();
58 loElModel->SetMaxEnergy(1.0001 * GeV);
59
60 // High energy elastic model
61 G4ElasticHadrNucleusHE* hiElModel = new G4ElasticHadrNucleusHE();
62 hiElModel->SetMinEnergy(1.0 * GeV);
63
64 // Use Bertini cascade for low energies
65 G4CascadeInterface* loInelModel = new G4CascadeInterface;
66 loInelModel->SetMinEnergy(0.0);
67 loInelModel->SetMaxEnergy(12.0 * GeV);
68
69 // Use FTFP for high energies ==>> eventually replace this with new class FTFPInterface
70 m_ftfp = new G4TheoFSGenerator("FTFP");
71 m_stringModel = new G4FTFModel;
73 new G4ExcitedStringDecay(m_fragModel = new G4LundStringFragmentation);
74 m_stringModel->SetFragmentationModel(m_stringDecay);
75 m_preCompoundModel = new G4GeneratorPrecompoundInterface();
76
77 m_ftfp->SetHighEnergyGenerator(m_stringModel);
78 m_ftfp->SetTransport(m_preCompoundModel);
79 m_ftfp->SetMinEnergy(10 * GeV);
80 m_ftfp->SetMaxEnergy(100 * TeV);
81
83 // pi+ //
85
86 procMan = G4PionPlus::PionPlus()->GetProcessManager();
87
88 // elastic
89 G4HadronElasticProcess* pipProcEl = new G4HadronElasticProcess;
90 pipProcEl->RegisterMe(loElModel);
91 pipProcEl->RegisterMe(hiElModel);
92 pipProcEl->AddDataSet(new G4BGGPionElasticXS(G4PionPlus::PionPlus()));
93 procMan->AddDiscreteProcess(pipProcEl);
94
95 // inelastic
96 G4HadronInelasticProcess* pipProcInel = new G4HadronInelasticProcess("pi+Inelastic", G4PionPlus::Definition());
97 pipProcInel->RegisterMe(loInelModel);
98 pipProcInel->RegisterMe(m_ftfp);
99 pipProcInel->AddDataSet(new G4BGGPionInelasticXS(G4PionPlus::PionPlus()));
100 procMan->AddDiscreteProcess(pipProcInel);
101
103 // pi- //
105
106 procMan = G4PionMinus::PionMinus()->GetProcessManager();
107
108 // elastic
109 G4HadronElasticProcess* pimProcEl = new G4HadronElasticProcess;
110 pimProcEl->RegisterMe(loElModel);
111 pimProcEl->RegisterMe(hiElModel);
112 pimProcEl->AddDataSet(new G4BGGPionElasticXS(G4PionMinus::PionMinus()));
113 procMan->AddDiscreteProcess(pimProcEl);
114
115 // inelastic
116 G4HadronInelasticProcess* pimProcInel = new G4HadronInelasticProcess("pi-Inelastic", G4PionMinus::Definition());
117 pimProcInel->RegisterMe(loInelModel);
118 pimProcInel->RegisterMe(m_ftfp);
119 pimProcInel->AddDataSet(new G4BGGPionInelasticXS(G4PionMinus::PionMinus()));
120 procMan->AddDiscreteProcess(pimProcInel);
121
122 // stopping
123 G4HadronicAbsorptionBertini* bertAbsorb = new G4HadronicAbsorptionBertini;
124 procMan->AddRestProcess(bertAbsorb);
125
126}

Member Data Documentation

◆ m_fragModel

G4LundStringFragmentation* m_fragModel
private

Lund string fragmentation model.

Definition at line 53 of file PionPhysics.h.

◆ m_ftfp

G4TheoFSGenerator* m_ftfp
private

Final state generator for QCD string models.

Definition at line 44 of file PionPhysics.h.

◆ m_preCompoundModel

G4GeneratorPrecompoundInterface* m_preCompoundModel
private

Precompound model to deexcite post-collision nucleus.

Definition at line 56 of file PionPhysics.h.

◆ m_stringDecay

G4ExcitedStringDecay* m_stringDecay
private

Model to decay strings into hadrons.

Definition at line 50 of file PionPhysics.h.

◆ m_stringModel

G4FTFModel* m_stringModel
private

Fritiof string model.

Definition at line 47 of file PionPhysics.h.


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