41 for( i = 0; i < nP; i++ )
43 std::pair<G4double, G4double> x;
46 std::pair<G4double, std::pair<G4double, G4double > > aP;
58 if(kineticEnergy>back().first) result =
false;
67 G4PiData::iterator it=begin();
68 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
72 "G4PiData::ReactionXSection: used outside validity range");
77 x1=(*(it-1)).second.second;
79 x2=(*(it)).second.second;
80 result =
std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
89 G4PiData::iterator it=begin();
90 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
94 "G4PiData::ElasticXSection: used outside validity range");
99 x1=(*(it-1)).second.first - (*(it-1)).second.second;
101 x2=(*(it)).second.first - (*(it)).second.second;
102 result =
std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
111 G4PiData::iterator it=begin();
112 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
116 "G4PiData::TotalXSection: used outside validity range");
118 if(it==begin()) it++;
121 x1=(*(it-1)).second.first;
123 x2=(*(it)).second.first;
124 result =
std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
G4double TotalXSection(G4double kineticEnergy)
G4double ElasticXSection(G4double kineticEnergy)
G4double ReactionXSection(G4double kineticEnergy)
G4bool AppliesTo(G4double kineticEnergy)
G4PiData(const G4double *aTotal, const G4double *aInelastic, const G4double *anEnergy, G4int nPoints)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
static const double millibarn