40 for( i = 0; i < nP; i++ )
42 std::pair<G4double, G4double> x;
43 x.first=aT[i]*millibarn;
44 x.second=aIn[i]*millibarn;
45 std::pair<G4double, std::pair<G4double, G4double > > aP;
56 return (kineticEnergy<=back().first);
64 G4PiData::iterator it=begin();
65 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
69 ed <<
"This cross section is applied for E(MeV)= " << kineticEnergy
70 <<
" outside allowed energy interval" <<
G4endl;
76 x1=(*(it-1)).second.second;
78 x2=(*(it)).second.second;
79 result = std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
88 G4PiData::iterator it=begin();
89 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
93 ed <<
"This cross section is applied for E(MeV)= " << kineticEnergy
94 <<
" outside allowed energy interval" <<
G4endl;
100 x1=(*(it-1)).second.first - (*(it-1)).second.second;
102 x2=(*(it)).second.first - (*(it)).second.second;
103 result = std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
112 G4PiData::iterator it=begin();
113 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
117 ed <<
"This cross section is applied for E(MeV)= " << kineticEnergy
118 <<
" outside allowed energy interval" <<
G4endl;
121 if(it==begin()) it++;
124 x1=(*(it-1)).second.first;
126 x2=(*(it)).second.first;
127 result = std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4double ReactionXSection(G4double kineticEnergy)
G4PiData(const G4double *aTotal, const G4double *aInelastic, const G4double *anEnergy, G4int nPoints)
G4bool AppliesTo(G4double kineticEnergy)
G4double TotalXSection(G4double kineticEnergy)
G4double ElasticXSection(G4double kineticEnergy)