60 for (
G4int i=26; i<93; i++)
62 protonL1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
63 protonL1DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/l1-");
65 protonL2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
66 protonL2DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/l2-");
68 protonL3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
69 protonL3DataSetMap[i]->LoadData(
"pixe_ANSTO/proton/l3-");
72 for (
G4int i=26; i<93; i++)
74 alphaL1DataSetMap[i] =
new G4EMDataSet(i,interpolation);
75 alphaL1DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/l1-");
77 alphaL2DataSetMap[i] =
new G4EMDataSet(i,interpolation);
78 alphaL2DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/l2-");
80 alphaL3DataSetMap[i] =
new G4EMDataSet(i,interpolation);
81 alphaL3DataSetMap[i]->LoadData(
"pixe_ANSTO/alpha/l3-");
90 protonL1DataSetMap.clear();
91 alphaL1DataSetMap.clear();
93 protonL2DataSetMap.clear();
94 alphaL2DataSetMap.clear();
96 protonL3DataSetMap.clear();
97 alphaL3DataSetMap.clear();
113 if (energyIncident > 0.2*MeV && energyIncident < 5.*MeV && zTarget < 93 && zTarget > 25) {
115 sigma = protonL1DataSetMap[zTarget]->FindValue(energyIncident/MeV);
116 if (sigma !=0 && energyIncident > protonL1DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
119 else if (massIncident == aAlpha->
GetPDGMass())
122 if (energyIncident > 0.2*MeV && energyIncident < 40.*MeV && zTarget < 93 && zTarget > 25) {
124 sigma = alphaL1DataSetMap[zTarget]->FindValue(energyIncident/MeV);
125 if (sigma !=0 && energyIncident > alphaL1DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
148 if (energyIncident > 0.2*MeV && energyIncident < 5.*MeV && zTarget < 93 && zTarget > 25) {
150 sigma = protonL2DataSetMap[zTarget]->FindValue(energyIncident/MeV);
151 if (sigma !=0 && energyIncident > protonL2DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
154 else if (massIncident == aAlpha->
GetPDGMass())
156 if (energyIncident > 0.2*MeV && energyIncident < 40.*MeV && zTarget < 93 && zTarget > 25) {
158 sigma = alphaL2DataSetMap[zTarget]->FindValue(energyIncident/MeV);
159 if (sigma !=0 && energyIncident > alphaL2DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
182 if (energyIncident > 0.2*MeV && energyIncident < 5.*MeV && zTarget < 93 && zTarget > 25) {
184 sigma = protonL3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
185 if (sigma !=0 && energyIncident > protonL3DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
189 else if (massIncident == aAlpha->
GetPDGMass())
191 if (energyIncident > 0.2*MeV && energyIncident < 40.*MeV && zTarget < 93 && zTarget > 25) {
193 sigma = alphaL3DataSetMap[zTarget]->FindValue(energyIncident/MeV);
194 if (sigma !=0 && energyIncident > alphaL3DataSetMap[zTarget]->GetEnergies(0).back()*MeV)
return 0.;
G4GLOB_DLL std::ostream G4cout
G4double CalculateL1CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double CalculateL3CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
virtual ~G4ANSTOecpssrLixsModel()
G4double CalculateL2CrossSection(G4int zTarget, G4double massIncident, G4double energyIncident)
G4double GetPDGMass() const
static G4Proton * Proton()