Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ecpssrFormFactorMixsModel Class Reference

#include <G4ecpssrFormFactorMixsModel.hh>

Inheritance diagram for G4ecpssrFormFactorMixsModel:
Collaboration 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 ()
 

Detailed Description

Definition at line 47 of file G4ecpssrFormFactorMixsModel.hh.

Constructor & Destructor Documentation

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:78
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

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 }
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 }
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 }
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 }
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: