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

#include <G4MiscBuilder.hh>

Public Member Functions

 G4MiscBuilder ()
 
virtual ~G4MiscBuilder ()
 
void Build ()
 

Detailed Description

Definition at line 96 of file G4MiscBuilder.hh.

Constructor & Destructor Documentation

◆ G4MiscBuilder()

G4MiscBuilder::G4MiscBuilder ( )

Definition at line 47 of file G4MiscBuilder.cc.

47 :
48 theAntiProtonInelastic(0), theLEAntiProtonModel(0),
49 theHEAntiProtonModel(0),
50 theAntiNeutronInelastic(0), theLEAntiNeutronModel(0),
51 theHEAntiNeutronModel(0),
52 theLambdaInelastic(0), theLELambdaModel(0), theHELambdaModel(0),
53 theAntiLambdaInelastic(0), theLEAntiLambdaModel(0), theHEAntiLambdaModel(0),
54 theSigmaMinusInelastic(0), theLESigmaMinusModel(0), theHESigmaMinusModel(0),
55 theAntiSigmaMinusInelastic(0), theLEAntiSigmaMinusModel(0), theHEAntiSigmaMinusModel(0),
56 theSigmaPlusInelastic(0), theLESigmaPlusModel(0), theHESigmaPlusModel(0),
57 theAntiSigmaPlusInelastic(0), theLEAntiSigmaPlusModel(0), theHEAntiSigmaPlusModel(0),
58 theXiZeroInelastic(0), theLEXiZeroModel(0), theHEXiZeroModel(0),
59 theAntiXiZeroInelastic(0), theLEAntiXiZeroModel(0), theHEAntiXiZeroModel(0),
60 theXiMinusInelastic(0), theLEXiMinusModel(0), theHEXiMinusModel(0),
61 theAntiXiMinusInelastic(0), theLEAntiXiMinusModel(0), theHEAntiXiMinusModel(0),
62 theOmegaMinusInelastic(0), theLEOmegaMinusModel(0), theHEOmegaMinusModel(0),
63 theAntiOmegaMinusInelastic(0), theLEAntiOmegaMinusModel(0), theHEAntiOmegaMinusModel(0),
64 wasActivated(false)
65
66{}

◆ ~G4MiscBuilder()

G4MiscBuilder::~G4MiscBuilder ( )
virtual

Definition at line 69 of file G4MiscBuilder.cc.

70{
71}

Member Function Documentation

◆ Build()

void G4MiscBuilder::Build ( )

Definition at line 73 of file G4MiscBuilder.cc.

74{
75 G4ProcessManager * aProcMan = 0;
76 wasActivated = true;
77
78 theAntiNucleonData = new G4CrossSectionInelastic(new G4ComponentAntiNuclNuclearXS());
80
81 // anti-Proton
82 theAntiProtonInelastic = new G4AntiProtonInelasticProcess();
84 theLEAntiProtonModel = new G4LEAntiProtonInelastic();
85 theHEAntiProtonModel = new G4HEAntiProtonInelastic();
86 theHEAntiProtonModel->SetMaxEnergy(100*TeV);
87 theAntiProtonInelastic->RegisterMe(theLEAntiProtonModel);
88 theAntiProtonInelastic->RegisterMe(theHEAntiProtonModel);
89 aProcMan->AddDiscreteProcess(theAntiProtonInelastic);
90 theAntiProtonInelastic->AddDataSet(theAntiNucleonData);
91
92 // AntiNeutron
93 theAntiNeutronInelastic = new G4AntiNeutronInelasticProcess();
95 theLEAntiNeutronModel = new G4LEAntiNeutronInelastic();
96 theHEAntiNeutronModel = new G4HEAntiNeutronInelastic();
97 theHEAntiNeutronModel->SetMaxEnergy(100*TeV);
98 theAntiNeutronInelastic->RegisterMe(theLEAntiNeutronModel);
99 theAntiNeutronInelastic->RegisterMe(theHEAntiNeutronModel);
100 aProcMan->AddDiscreteProcess(theAntiNeutronInelastic);
101 theAntiNeutronInelastic->AddDataSet(theAntiNucleonData);
102
103 // Lambda
104 theLambdaInelastic = new G4LambdaInelasticProcess();
105 aProcMan = G4Lambda::Lambda()->GetProcessManager();
106 theLELambdaModel = new G4LELambdaInelastic();
107 theHELambdaModel = new G4HELambdaInelastic();
108 theHELambdaModel->SetMaxEnergy(100*TeV);
109 theLambdaInelastic->RegisterMe(theLELambdaModel);
110 theLambdaInelastic->RegisterMe(theHELambdaModel);
111 aProcMan->AddDiscreteProcess(theLambdaInelastic);
112 theLambdaInelastic->AddDataSet(theChipsInelastic);
113
114 // AntiLambda
115 theAntiLambdaInelastic = new G4AntiLambdaInelasticProcess();
117 theLEAntiLambdaModel = new G4LEAntiLambdaInelastic();
118 theHEAntiLambdaModel = new G4HEAntiLambdaInelastic();
119 theHEAntiLambdaModel->SetMaxEnergy(100*TeV);
120 theAntiLambdaInelastic->RegisterMe(theLEAntiLambdaModel);
121 theAntiLambdaInelastic->RegisterMe(theHEAntiLambdaModel);
122 aProcMan->AddDiscreteProcess(theAntiLambdaInelastic);
123 theAntiLambdaInelastic->AddDataSet(theChipsInelastic);
124
125 // SigmaMinus
126 theSigmaMinusInelastic = new G4SigmaMinusInelasticProcess();
128 theLESigmaMinusModel = new G4LESigmaMinusInelastic();
129 theHESigmaMinusModel = new G4HESigmaMinusInelastic();
130 theHESigmaMinusModel->SetMaxEnergy(100*TeV);
131 theSigmaMinusInelastic->RegisterMe(theLESigmaMinusModel);
132 theSigmaMinusInelastic->RegisterMe(theHESigmaMinusModel);
133 aProcMan->AddDiscreteProcess(theSigmaMinusInelastic);
134 theSigmaMinusInelastic->AddDataSet(theChipsInelastic);
135
136 // anti-SigmaMinus
137 theAntiSigmaMinusInelastic = new G4AntiSigmaMinusInelasticProcess();
139 theLEAntiSigmaMinusModel = new G4LEAntiSigmaMinusInelastic();
140 theHEAntiSigmaMinusModel = new G4HEAntiSigmaMinusInelastic();
141 theHEAntiSigmaMinusModel->SetMaxEnergy(100*TeV);
142 theAntiSigmaMinusInelastic->RegisterMe(theLEAntiSigmaMinusModel);
143 theAntiSigmaMinusInelastic->RegisterMe(theHEAntiSigmaMinusModel);
144 aProcMan->AddDiscreteProcess(theAntiSigmaMinusInelastic);
145 theAntiSigmaMinusInelastic->AddDataSet(theChipsInelastic);
146
147 // SigmaPlus
148 theSigmaPlusInelastic = new G4SigmaPlusInelasticProcess();
150 theLESigmaPlusModel = new G4LESigmaPlusInelastic();
151 theHESigmaPlusModel = new G4HESigmaPlusInelastic();
152 theHESigmaPlusModel->SetMaxEnergy(100*TeV);
153 theSigmaPlusInelastic->RegisterMe(theLESigmaPlusModel);
154 theSigmaPlusInelastic->RegisterMe(theHESigmaPlusModel);
155 aProcMan->AddDiscreteProcess(theSigmaPlusInelastic);
156 theSigmaPlusInelastic->AddDataSet(theChipsInelastic);
157
158 // anti-SigmaPlus
159 theAntiSigmaPlusInelastic = new G4AntiSigmaPlusInelasticProcess();
161 theLEAntiSigmaPlusModel = new G4LEAntiSigmaPlusInelastic();
162 theHEAntiSigmaPlusModel = new G4HEAntiSigmaPlusInelastic();
163 theHEAntiSigmaPlusModel->SetMaxEnergy(100*TeV);
164 theAntiSigmaPlusInelastic->RegisterMe(theLEAntiSigmaPlusModel);
165 theAntiSigmaPlusInelastic->RegisterMe(theHEAntiSigmaPlusModel);
166 aProcMan->AddDiscreteProcess(theAntiSigmaPlusInelastic);
167 theAntiSigmaPlusInelastic->AddDataSet(theChipsInelastic);
168
169 // XiMinus
170 theXiMinusInelastic = new G4XiMinusInelasticProcess();
172 theLEXiMinusModel = new G4LEXiMinusInelastic();
173 theHEXiMinusModel = new G4HEXiMinusInelastic();
174 theHEXiMinusModel->SetMaxEnergy(100*TeV);
175 theXiMinusInelastic->RegisterMe(theLEXiMinusModel);
176 theXiMinusInelastic->RegisterMe(theHEXiMinusModel);
177 aProcMan->AddDiscreteProcess(theXiMinusInelastic);
178 theXiMinusInelastic->AddDataSet(theChipsInelastic);
179
180 // anti-XiMinus
181 theAntiXiMinusInelastic = new G4AntiXiMinusInelasticProcess();
183 theLEAntiXiMinusModel = new G4LEAntiXiMinusInelastic();
184 theHEAntiXiMinusModel = new G4HEAntiXiMinusInelastic();
185 theHEAntiXiMinusModel->SetMaxEnergy(100*TeV);
186 theAntiXiMinusInelastic->RegisterMe(theLEAntiXiMinusModel);
187 theAntiXiMinusInelastic->RegisterMe(theHEAntiXiMinusModel);
188 aProcMan->AddDiscreteProcess(theAntiXiMinusInelastic);
189 theAntiXiMinusInelastic->AddDataSet(theChipsInelastic);
190
191 // XiZero
192 theXiZeroInelastic = new G4XiZeroInelasticProcess();
193 aProcMan = G4XiZero::XiZero()->GetProcessManager();
194 theLEXiZeroModel = new G4LEXiZeroInelastic();
195 theHEXiZeroModel = new G4HEXiZeroInelastic();
196 theHEXiZeroModel->SetMaxEnergy(100*TeV);
197 theXiZeroInelastic->RegisterMe(theLEXiZeroModel);
198 theXiZeroInelastic->RegisterMe(theHEXiZeroModel);
199 aProcMan->AddDiscreteProcess(theXiZeroInelastic);
200 theXiZeroInelastic->AddDataSet(theChipsInelastic);
201
202 // anti-XiZero
203 theAntiXiZeroInelastic = new G4AntiXiZeroInelasticProcess();
205 theLEAntiXiZeroModel = new G4LEAntiXiZeroInelastic();
206 theHEAntiXiZeroModel = new G4HEAntiXiZeroInelastic();
207 theHEAntiXiZeroModel->SetMaxEnergy(100*TeV);
208 theAntiXiZeroInelastic->RegisterMe(theLEAntiXiZeroModel);
209 theAntiXiZeroInelastic->RegisterMe(theHEAntiXiZeroModel);
210 aProcMan->AddDiscreteProcess(theAntiXiZeroInelastic);
211 theAntiXiZeroInelastic->AddDataSet(theChipsInelastic);
212
213 // OmegaMinus
214 theOmegaMinusInelastic = new G4OmegaMinusInelasticProcess();
216 theLEOmegaMinusModel = new G4LEOmegaMinusInelastic();
217 theHEOmegaMinusModel = new G4HEOmegaMinusInelastic();
218 theHEOmegaMinusModel->SetMaxEnergy(100*TeV);
219 theOmegaMinusInelastic->RegisterMe(theLEOmegaMinusModel);
220 theOmegaMinusInelastic->RegisterMe(theHEOmegaMinusModel);
221 aProcMan->AddDiscreteProcess(theOmegaMinusInelastic);
222 theOmegaMinusInelastic->AddDataSet(theChipsInelastic);
223
224 // anti-OmegaMinus
225 theAntiOmegaMinusInelastic = new G4AntiOmegaMinusInelasticProcess();
227 theLEAntiOmegaMinusModel = new G4LEAntiOmegaMinusInelastic();
228 theHEAntiOmegaMinusModel = new G4HEAntiOmegaMinusInelastic();
229 theHEAntiOmegaMinusModel->SetMaxEnergy(100*TeV);
230 theAntiOmegaMinusInelastic->RegisterMe(theLEAntiOmegaMinusModel);
231 theAntiOmegaMinusInelastic->RegisterMe(theHEAntiOmegaMinusModel);
232 aProcMan->AddDiscreteProcess(theAntiOmegaMinusInelastic);
233 theAntiOmegaMinusInelastic->AddDataSet(theChipsInelastic);
234}
static G4AntiLambda * AntiLambda()
static G4AntiNeutron * AntiNeutron()
static G4AntiOmegaMinus * AntiOmegaMinus()
static G4AntiProton * AntiProton()
Definition: G4AntiProton.cc:93
static G4AntiSigmaMinus * AntiSigmaMinus()
static G4AntiSigmaPlus * AntiSigmaPlus()
static G4AntiXiMinus * AntiXiMinus()
static G4AntiXiZero * AntiXiZero()
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
static G4CrossSectionDataSetRegistry * Instance()
void SetMaxEnergy(const G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)
static G4Lambda * Lambda()
Definition: G4Lambda.cc:108
static G4OmegaMinus * OmegaMinus()
G4ProcessManager * GetProcessManager() const
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4SigmaMinus * SigmaMinus()
static G4SigmaPlus * SigmaPlus()
Definition: G4SigmaPlus.cc:108
static G4XiMinus * XiMinus()
Definition: G4XiMinus.cc:106
static G4XiZero * XiZero()
Definition: G4XiZero.cc:106

Referenced by HadronPhysicsQGS_BIC::ConstructProcess(), HadronPhysicsQGSP::ConstructProcess(), HadronPhysicsQGSP_BERT::ConstructProcess(), HadronPhysicsQGSP_BERT_HP::ConstructProcess(), HadronPhysicsQGSP_BERT_NOLEP::ConstructProcess(), HadronPhysicsQGSP_BERT_TRV::ConstructProcess(), HadronPhysicsQGSP_BIC::ConstructProcess(), HadronPhysicsQGSP_BIC_HP::ConstructProcess(), and HadronPhysicsQGSP_INCLXX::ConstructProcess().


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