#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) |
Definition at line 47 of file G4ecpssrFormFactorMixsModel.hh.
G4ecpssrFormFactorMixsModel::G4ecpssrFormFactorMixsModel | ( | ) |
Definition at line 53 of file G4ecpssrFormFactorMixsModel.cc.
00054 { 00055 interpolation = new G4LinInterpolation(); 00056 00057 for (G4int i=62; i<93; i++) 00058 { 00059 protonM1DataSetMap[i] = new G4EMDataSet(i,interpolation); 00060 protonM1DataSetMap[i]->LoadData("pixe/ecpssr/proton/m1-"); 00061 00062 protonM2DataSetMap[i] = new G4EMDataSet(i,interpolation); 00063 protonM2DataSetMap[i]->LoadData("pixe/ecpssr/proton/m2-"); 00064 00065 protonM3DataSetMap[i] = new G4EMDataSet(i,interpolation); 00066 protonM3DataSetMap[i]->LoadData("pixe/ecpssr/proton/m3-"); 00067 00068 protonM4DataSetMap[i] = new G4EMDataSet(i,interpolation); 00069 protonM4DataSetMap[i]->LoadData("pixe/ecpssr/proton/m4-"); 00070 00071 protonM5DataSetMap[i] = new G4EMDataSet(i,interpolation); 00072 protonM5DataSetMap[i]->LoadData("pixe/ecpssr/proton/m5-"); 00073 } 00074 00075 protonMiXsVector.push_back(protonM1DataSetMap); 00076 protonMiXsVector.push_back(protonM2DataSetMap); 00077 protonMiXsVector.push_back(protonM3DataSetMap); 00078 protonMiXsVector.push_back(protonM4DataSetMap); 00079 protonMiXsVector.push_back(protonM5DataSetMap); 00080 00081 00082 for (G4int i=62; i<93; i++) 00083 { 00084 alphaM1DataSetMap[i] = new G4EMDataSet(i,interpolation); 00085 alphaM1DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m1-"); 00086 00087 alphaM2DataSetMap[i] = new G4EMDataSet(i,interpolation); 00088 alphaM2DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m2-"); 00089 00090 alphaM3DataSetMap[i] = new G4EMDataSet(i,interpolation); 00091 alphaM3DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m3-"); 00092 00093 alphaM4DataSetMap[i] = new G4EMDataSet(i,interpolation); 00094 alphaM4DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m4-"); 00095 00096 alphaM5DataSetMap[i] = new G4EMDataSet(i,interpolation); 00097 alphaM5DataSetMap[i]->LoadData("pixe/ecpssr/alpha/m5-"); 00098 00099 } 00100 00101 alphaMiXsVector.push_back(alphaM1DataSetMap); 00102 alphaMiXsVector.push_back(alphaM2DataSetMap); 00103 alphaMiXsVector.push_back(alphaM3DataSetMap); 00104 alphaMiXsVector.push_back(alphaM4DataSetMap); 00105 alphaMiXsVector.push_back(alphaM5DataSetMap); 00106 00107 00108 00109 }
G4ecpssrFormFactorMixsModel::~G4ecpssrFormFactorMixsModel | ( | ) | [virtual] |
Definition at line 113 of file G4ecpssrFormFactorMixsModel.cc.
00114 { 00115 protonM1DataSetMap.clear(); 00116 alphaM1DataSetMap.clear(); 00117 00118 protonM2DataSetMap.clear(); 00119 alphaM2DataSetMap.clear(); 00120 00121 protonM3DataSetMap.clear(); 00122 alphaM3DataSetMap.clear(); 00123 00124 protonM4DataSetMap.clear(); 00125 alphaM4DataSetMap.clear(); 00126 00127 protonM5DataSetMap.clear(); 00128 alphaM5DataSetMap.clear(); 00129 00130 delete interpolation; 00131 }
G4double G4ecpssrFormFactorMixsModel::CalculateM1CrossSection | ( | G4int | zTarget, | |
G4double | massIncident, | |||
G4double | energyIncident | |||
) | [virtual] |
Implements G4VecpssrMiModel.
Definition at line 167 of file G4ecpssrFormFactorMixsModel.cc.
00168 { 00169 00170 // mShellId 00171 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 1); 00172 00173 }
G4double G4ecpssrFormFactorMixsModel::CalculateM2CrossSection | ( | G4int | zTarget, | |
G4double | massIncident, | |||
G4double | energyIncident | |||
) | [virtual] |
Implements G4VecpssrMiModel.
Definition at line 177 of file G4ecpssrFormFactorMixsModel.cc.
00178 { 00179 00180 // mShellId 00181 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 2); 00182 00183 /* 00184 00185 G4Proton* aProton = G4Proton::Proton(); 00186 G4Alpha* aAlpha = G4Alpha::Alpha(); 00187 G4double sigma = 0; 00188 00189 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) { 00190 00191 if (massIncident == aProton->GetPDGMass()) 00192 { 00193 sigma = protonM2DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00194 if (sigma !=0 && energyIncident > protonM2DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00195 } 00196 else if (massIncident == aAlpha->GetPDGMass()) 00197 { 00198 sigma = alphaM2DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00199 if (sigma !=0 && energyIncident > alphaM2DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00200 } 00201 else 00202 { 00203 sigma = 0.; 00204 } 00205 } 00206 00207 // sigma is in internal units: it has been converted from 00208 // the input file in barns bt the EmDataset 00209 return sigma; 00210 */ 00211 }
G4double G4ecpssrFormFactorMixsModel::CalculateM3CrossSection | ( | G4int | zTarget, | |
G4double | massIncident, | |||
G4double | energyIncident | |||
) | [virtual] |
Implements G4VecpssrMiModel.
Definition at line 215 of file G4ecpssrFormFactorMixsModel.cc.
00216 { 00217 00218 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 3); 00219 /* 00220 00221 00222 G4Proton* aProton = G4Proton::Proton(); 00223 G4Alpha* aAlpha = G4Alpha::Alpha(); 00224 G4double sigma = 0; 00225 00226 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) { 00227 00228 if (massIncident == aProton->GetPDGMass()) 00229 { 00230 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00231 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00232 } 00233 else if (massIncident == aAlpha->GetPDGMass()) 00234 { 00235 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00236 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00237 } 00238 else 00239 { 00240 sigma = 0.; 00241 } 00242 } 00243 00244 // sigma is in internal units: it has been converted from 00245 // the input file in barns bt the EmDataset 00246 return sigma; 00247 */ 00248 }
G4double G4ecpssrFormFactorMixsModel::CalculateM4CrossSection | ( | G4int | zTarget, | |
G4double | massIncident, | |||
G4double | energyIncident | |||
) | [virtual] |
Implements G4VecpssrMiModel.
Definition at line 252 of file G4ecpssrFormFactorMixsModel.cc.
00253 { 00254 00255 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 4); 00256 /* 00257 G4Proton* aProton = G4Proton::Proton(); 00258 G4Alpha* aAlpha = G4Alpha::Alpha(); 00259 G4double sigma = 0; 00260 00261 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) { 00262 00263 if (massIncident == aProton->GetPDGMass()) 00264 { 00265 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00266 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00267 } 00268 else if (massIncident == aAlpha->GetPDGMass()) 00269 { 00270 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00271 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00272 } 00273 else 00274 { 00275 sigma = 0.; 00276 } 00277 } 00278 00279 // sigma is in internal units: it has been converted from 00280 // the input file in barns bt the EmDataset 00281 return sigma; 00282 */ 00283 }
G4double G4ecpssrFormFactorMixsModel::CalculateM5CrossSection | ( | G4int | zTarget, | |
G4double | massIncident, | |||
G4double | energyIncident | |||
) | [virtual] |
Implements G4VecpssrMiModel.
Definition at line 287 of file G4ecpssrFormFactorMixsModel.cc.
00288 { 00289 00290 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 5); 00291 /* 00292 G4Proton* aProton = G4Proton::Proton(); 00293 G4Alpha* aAlpha = G4Alpha::Alpha(); 00294 G4double sigma = 0; 00295 00296 if (energyIncident > 0.1*MeV && energyIncident < 10*MeV && zTarget < 93 && zTarget > 61) { 00297 00298 if (massIncident == aProton->GetPDGMass()) 00299 { 00300 sigma = protonM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00301 if (sigma !=0 && energyIncident > protonM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00302 } 00303 else if (massIncident == aAlpha->GetPDGMass()) 00304 { 00305 sigma = alphaM3DataSetMap[zTarget]->FindValue(energyIncident/MeV); 00306 if (sigma !=0 && energyIncident > alphaM3DataSetMap[zTarget]->GetEnergies(0).back()*MeV) return 0.; 00307 } 00308 else 00309 { 00310 sigma = 0.; 00311 } 00312 } 00313 00314 // sigma is in internal units: it has been converted from 00315 // the input file in barns bt the EmDataset 00316 return sigma; 00317 */ 00318 }