60 for (
G4int i=67; i<93; i++)
62 protonM1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
63 protonM1DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/m1-");
65 protonM2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
66 protonM2DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/m2-");
68 protonM3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
69 protonM3DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/m3-");
71 protonM4DataSetMap[i] =
new G4EMDataSet(i,interpolation);
72 protonM4DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/m4-");
74 protonM5DataSetMap[i] =
new G4EMDataSet(i,interpolation);
75 protonM5DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/m5-");
78 protonMiXsVector.push_back(protonM1DataSetMap);
79 protonMiXsVector.push_back(protonM2DataSetMap);
80 protonMiXsVector.push_back(protonM3DataSetMap);
81 protonMiXsVector.push_back(protonM4DataSetMap);
82 protonMiXsVector.push_back(protonM5DataSetMap);
85 for (
G4int i=67; i<93; i++)
87 alphaM1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
88 alphaM1DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/m1-");
90 alphaM2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
91 alphaM2DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/m2-");
93 alphaM3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
94 alphaM3DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/m3-");
96 alphaM4DataSetMap[i] =
new G4EMDataSet(i,interpolation);
97 alphaM4DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/m4-");
99 alphaM5DataSetMap[i] =
new G4EMDataSet(i,interpolation);
100 alphaM5DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/m5-");
103 alphaMiXsVector.push_back(alphaM1DataSetMap);
104 alphaMiXsVector.push_back(alphaM2DataSetMap);
105 alphaMiXsVector.push_back(alphaM3DataSetMap);
106 alphaMiXsVector.push_back(alphaM4DataSetMap);
107 alphaMiXsVector.push_back(alphaM5DataSetMap);
114 protonM1DataSetMap.clear();
115 alphaM1DataSetMap.clear();
117 protonM2DataSetMap.clear();
118 alphaM2DataSetMap.clear();
120 protonM3DataSetMap.clear();
121 alphaM3DataSetMap.clear();
123 protonM4DataSetMap.clear();
124 alphaM4DataSetMap.clear();
126 protonM5DataSetMap.clear();
127 alphaM5DataSetMap.clear();
129 delete interpolation;
139 G4int mShellIndex = mShellId -1;
143 if (energyIncident > 0.2*MeV && energyIncident < 5.*MeV && zTarget < 93 && zTarget > 66) {
145 sigma = protonMiXsVector[mShellIndex][zTarget]->FindValue(energyIncident/MeV);
146 if (sigma !=0 && energyIncident > protonMiXsVector[mShellIndex][zTarget]->GetEnergies(0).back()*MeV)
return 0.;
150 else if (massIncident == aAlpha->
GetPDGMass())
152 if (energyIncident > 0.2*MeV && energyIncident < 10.*MeV && zTarget < 93 && zTarget > 66) {
154 sigma = alphaMiXsVector[mShellIndex][zTarget]->FindValue(energyIncident/MeV);
155 if (sigma !=0 && energyIncident > alphaMiXsVector[mShellIndex][zTarget]->GetEnergies(0).back()*MeV)
return 0.;
176 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 1);
186 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 2);
223 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 3);
260 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 4);
295 return CalculateMiCrossSection (zTarget, massIncident, energyIncident, 5);
G4GLOB_DLL std::ostream G4cout
G4double CalculateM2CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double CalculateM5CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double CalculateM4CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double CalculateM1CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double CalculateM3CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
virtual ~G4ANSTOecpssrMixsModel()
G4double GetPDGMass() const
static G4Proton * Proton()