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

#include <G4ecpssrFormFactorMixsModel.hh>

+ Inheritance diagram for G4ecpssrFormFactorMixsModel:

Public Member Functions

 G4ecpssrFormFactorMixsModel ()
 
virtual ~G4ecpssrFormFactorMixsModel ()
 
G4double CalculateM1CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)
 
G4double CalculateM2CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)
 
G4double CalculateM3CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)
 
G4double CalculateM4CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)
 
G4double CalculateM5CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)
 
- Public Member Functions inherited from G4VecpssrMiModel
 G4VecpssrMiModel ()
 
virtual ~G4VecpssrMiModel ()
 
virtual G4double CalculateM1CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)=0
 
virtual G4double CalculateM2CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)=0
 
virtual G4double CalculateM3CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)=0
 
virtual G4double CalculateM4CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)=0
 
virtual G4double CalculateM5CrossSection (G4int zTarget, G4double massIncident, G4double energyIncident)=0
 

Detailed Description

Definition at line 47 of file G4ecpssrFormFactorMixsModel.hh.

Constructor & Destructor Documentation

◆ G4ecpssrFormFactorMixsModel()

G4ecpssrFormFactorMixsModel::G4ecpssrFormFactorMixsModel ( )

Definition at line 53 of file G4ecpssrFormFactorMixsModel.cc.

54{
55 interpolation = new G4LinInterpolation();
56
57 for (G4int i=62; i<93; i++)
58 {
59 protonM1DataSetMap[i] = new G4EMDataSet(i,interpolation);
60 protonM1DataSetMap[i]->LoadData("pixe/ecpssr/proton/m1-");
61
62 protonM2DataSetMap[i] = new G4EMDataSet(i,interpolation);
63 protonM2DataSetMap[i]->LoadData("pixe/ecpssr/proton/m2-");
64
65 protonM3DataSetMap[i] = new G4EMDataSet(i,interpolation);
66 protonM3DataSetMap[i]->LoadData("pixe/ecpssr/proton/m3-");
67
68 protonM4DataSetMap[i] = new G4EMDataSet(i,interpolation);
69 protonM4DataSetMap[i]->LoadData("pixe/ecpssr/proton/m4-");
70
71 protonM5DataSetMap[i] = new G4EMDataSet(i,interpolation);
72 protonM5DataSetMap[i]->LoadData("pixe/ecpssr/proton/m5-");
73 }
74
75 protonMiXsVector.push_back(protonM1DataSetMap);
76 protonMiXsVector.push_back(protonM2DataSetMap);
77 protonMiXsVector.push_back(protonM3DataSetMap);
78 protonMiXsVector.push_back(protonM4DataSetMap);
79 protonMiXsVector.push_back(protonM5DataSetMap);
80
81
82 for (G4int i=62; i<93; i++)
83 {
84 alphaM1DataSetMap[i] = new G4EMDataSet(i,interpolation);
85 alphaM1DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m1-");
86
87 alphaM2DataSetMap[i] = new G4EMDataSet(i,interpolation);
88 alphaM2DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m2-");
89
90 alphaM3DataSetMap[i] = new G4EMDataSet(i,interpolation);
91 alphaM3DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m3-");
92
93 alphaM4DataSetMap[i] = new G4EMDataSet(i,interpolation);
94 alphaM4DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m4-");
95
96 alphaM5DataSetMap[i] = new G4EMDataSet(i,interpolation);
97 alphaM5DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m5-");
98
99 }
100
101 alphaMiXsVector.push_back(alphaM1DataSetMap);
102 alphaMiXsVector.push_back(alphaM2DataSetMap);
103 alphaMiXsVector.push_back(alphaM3DataSetMap);
104 alphaMiXsVector.push_back(alphaM4DataSetMap);
105 alphaMiXsVector.push_back(alphaM5DataSetMap);
106
107
108
109}
int G4int
Definition: G4Types.hh:66

◆ ~G4ecpssrFormFactorMixsModel()

G4ecpssrFormFactorMixsModel::~G4ecpssrFormFactorMixsModel ( )
virtual

Definition at line 113 of file G4ecpssrFormFactorMixsModel.cc.

114{
115 protonM1DataSetMap.clear();
116 alphaM1DataSetMap.clear();
117
118 protonM2DataSetMap.clear();
119 alphaM2DataSetMap.clear();
120
121 protonM3DataSetMap.clear();
122 alphaM3DataSetMap.clear();
123
124 protonM4DataSetMap.clear();
125 alphaM4DataSetMap.clear();
126
127 protonM5DataSetMap.clear();
128 alphaM5DataSetMap.clear();
129
130 delete interpolation;
131}

Member Function Documentation

◆ CalculateM1CrossSection()

G4double G4ecpssrFormFactorMixsModel::CalculateM1CrossSection ( G4int  zTarget,
G4double  massIncident,
G4double  energyIncident 
)
virtual

Implements G4VecpssrMiModel.

Definition at line 167 of file G4ecpssrFormFactorMixsModel.cc.

168{
169
170 // mShellId
171 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 1);
172
173}

◆ CalculateM2CrossSection()

G4double G4ecpssrFormFactorMixsModel::CalculateM2CrossSection ( G4int  zTarget,
G4double  massIncident,
G4double  energyIncident 
)
virtual

Implements G4VecpssrMiModel.

Definition at line 177 of file G4ecpssrFormFactorMixsModel.cc.

178{
179
180 // mShellId
181 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 2);
182
183 /*
184
185 G4Proton* aProton = G4Proton::Proton();
186 G4Alpha* aAlpha = G4Alpha::Alpha();
187 G4double sigma = 0;
188
189 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) {
190
191 if (massIncident == aProton->GetPDGMass())
192 {
193 sigma = protonM2DataSetMap[zTarget]->FindValue(energyIncident/MeV);
194 if (sigma !=0 && energyIncident > protonM2DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
195 }
196 else if (massIncident == aAlpha->GetPDGMass())
197 {
198 sigma = alphaM2DataSetMap[zTarget]->FindValue(energyIncident/MeV);
199 if (sigma !=0 && energyIncident > alphaM2DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
200 }
201 else
202 {
203 sigma = 0.;
204 }
205 }
206
207 // sigma is in internal units: it has been converted from
208 // the input file in barns bt the EmDataset
209 return sigma;
210 */
211}

◆ CalculateM3CrossSection()

G4double G4ecpssrFormFactorMixsModel::CalculateM3CrossSection ( G4int  zTarget,
G4double  massIncident,
G4double  energyIncident 
)
virtual

Implements G4VecpssrMiModel.

Definition at line 215 of file G4ecpssrFormFactorMixsModel.cc.

216{
217
218 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 3);
219 /*
220
221
222 G4Proton* aProton = G4Proton::Proton();
223 G4Alpha* aAlpha = G4Alpha::Alpha();
224 G4double sigma = 0;
225
226 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) {
227
228 if (massIncident == aProton->GetPDGMass())
229 {
230 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
231 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
232 }
233 else if (massIncident == aAlpha->GetPDGMass())
234 {
235 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
236 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
237 }
238 else
239 {
240 sigma = 0.;
241 }
242 }
243
244 // sigma is in internal units: it has been converted from
245 // the input file in barns bt the EmDataset
246 return sigma;
247 */
248}

◆ CalculateM4CrossSection()

G4double G4ecpssrFormFactorMixsModel::CalculateM4CrossSection ( G4int  zTarget,
G4double  massIncident,
G4double  energyIncident 
)
virtual

Implements G4VecpssrMiModel.

Definition at line 252 of file G4ecpssrFormFactorMixsModel.cc.

253{
254
255 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 4);
256 /*
257 G4Proton* aProton = G4Proton::Proton();
258 G4Alpha* aAlpha = G4Alpha::Alpha();
259 G4double sigma = 0;
260
261 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) {
262
263 if (massIncident == aProton->GetPDGMass())
264 {
265 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
266 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
267 }
268 else if (massIncident == aAlpha->GetPDGMass())
269 {
270 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
271 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
272 }
273 else
274 {
275 sigma = 0.;
276 }
277 }
278
279 // sigma is in internal units: it has been converted from
280 // the input file in barns bt the EmDataset
281 return sigma;
282 */
283}

◆ CalculateM5CrossSection()

G4double G4ecpssrFormFactorMixsModel::CalculateM5CrossSection ( G4int  zTarget,
G4double  massIncident,
G4double  energyIncident 
)
virtual

Implements G4VecpssrMiModel.

Definition at line 287 of file G4ecpssrFormFactorMixsModel.cc.

288{
289
290 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 5);
291 /*
292 G4Proton* aProton = G4Proton::Proton();
293 G4Alpha* aAlpha = G4Alpha::Alpha();
294 G4double sigma = 0;
295
296 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) {
297
298 if (massIncident == aProton->GetPDGMass())
299 {
300 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
301 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
302 }
303 else if (massIncident == aAlpha->GetPDGMass())
304 {
305 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
306 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.;
307 }
308 else
309 {
310 sigma = 0.;
311 }
312 }
313
314 // sigma is in internal units: it has been converted from
315 // the input file in barns bt the EmDataset
316 return sigma;
317 */
318}

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