42 for( i = 0; i < nP; i++ )
44 std::pair<G4double, G4double> x;
45 x.first=aT[i]*millibarn;
46 x.second=aIn[i]*millibarn;
47 std::pair<G4double, std::pair<G4double, G4double > > aP;
59 if(kineticEnergy>back().first) result =
false;
68 G4PiData::iterator it=begin();
69 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
73 "G4PiData::ReactionXSection: used outside validity range");
78 x1=(*(it-1)).second.second;
80 x2=(*(it)).second.second;
81 result = std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
90 G4PiData::iterator it=begin();
91 while(it!=end()&&kineticEnergy>(*it).first) {it++;}
95 "G4PiData::ElasticXSection: used outside validity range");
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 "G4PiData::TotalXSection: used outside validity range");
119 if(it==begin()) it++;
122 x1=(*(it-1)).second.first;
124 x2=(*(it)).second.first;
125 result = std::max(0., x1 + (kineticEnergy-e1)*(x2-x1)/(e2-e1));
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)