54 for (
G4int i=29; i<93; i++)
56 protonM1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
57 protonM1DataSetMap[i]->LoadData(
"pixe/ecpssr/proton/m1-i01m001c01-");
59 protonM2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
60 protonM2DataSetMap[i]->LoadData(
"pixe/ecpssr/proton/m2-i01m001c01-");
62 protonM3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
63 protonM3DataSetMap[i]->LoadData(
"pixe/ecpssr/proton/m3-i01m001c01-");
65 protonM4DataSetMap[i] =
new G4EMDataSet(i,interpolation);
66 protonM4DataSetMap[i]->LoadData(
"pixe/ecpssr/proton/m4-i01m001c01-");
68 protonM5DataSetMap[i] =
new G4EMDataSet(i,interpolation);
69 protonM5DataSetMap[i]->LoadData(
"pixe/ecpssr/proton/m5-i01m001c01-");
72 protonMiXsVector.push_back(protonM1DataSetMap);
73 protonMiXsVector.push_back(protonM2DataSetMap);
74 protonMiXsVector.push_back(protonM3DataSetMap);
75 protonMiXsVector.push_back(protonM4DataSetMap);
76 protonMiXsVector.push_back(protonM5DataSetMap);
78 for (
G4int i=29; i<93; i++)
80 alphaM1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
81 alphaM1DataSetMap[i]->LoadData(
"pixe/ecpssr/alpha/m1-i02m004c02-");
83 alphaM2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
84 alphaM2DataSetMap[i]->LoadData(
"pixe/ecpssr/alpha/m2-i02m004c02-");
86 alphaM3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
87 alphaM3DataSetMap[i]->LoadData(
"pixe/ecpssr/alpha/m3-i02m004c02-");
89 alphaM4DataSetMap[i] =
new G4EMDataSet(i,interpolation);
90 alphaM4DataSetMap[i]->LoadData(
"pixe/ecpssr/alpha/m4-i02m004c02-");
92 alphaM5DataSetMap[i] =
new G4EMDataSet(i,interpolation);
93 alphaM5DataSetMap[i]->LoadData(
"pixe/ecpssr/alpha/m5-i02m004c02-");
97 alphaMiXsVector.push_back(alphaM1DataSetMap);
98 alphaMiXsVector.push_back(alphaM2DataSetMap);
99 alphaMiXsVector.push_back(alphaM3DataSetMap);
100 alphaMiXsVector.push_back(alphaM4DataSetMap);
101 alphaMiXsVector.push_back(alphaM5DataSetMap);
108 protonM1DataSetMap.clear();
109 alphaM1DataSetMap.clear();
111 protonM2DataSetMap.clear();
112 alphaM2DataSetMap.clear();
114 protonM3DataSetMap.clear();
115 alphaM3DataSetMap.clear();
117 protonM4DataSetMap.clear();
118 alphaM4DataSetMap.clear();
120 protonM5DataSetMap.clear();
121 alphaM5DataSetMap.clear();
123 delete interpolation;
133 G4int mShellIndex = mShellId -1;
135 if (energyIncident > 0.1*MeV && energyIncident < 100*MeV && zTarget < 93 && zTarget > 28) {
139 sigma = protonMiXsVector[mShellIndex][zTarget]->FindValue(energyIncident/MeV);
140 if (sigma !=0 && energyIncident > protonMiXsVector[mShellIndex][zTarget]->GetEnergies(0).back()*MeV)
return 0.;
142 else if (massIncident == aAlpha->
GetPDGMass())
144 sigma = alphaMiXsVector[mShellIndex][zTarget]->FindValue(energyIncident/MeV);
145 if (sigma !=0 && energyIncident > alphaMiXsVector[mShellIndex][zTarget]->GetEnergies(0).back()*MeV)
return 0.;
163 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 1);
171 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 2);
178 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 3);
185 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 4);
192 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 5);
G4double GetPDGMass() const
static G4Proton * Proton()