26 #ifndef G4CrossSectionBuffer_h
27 #define G4CrossSectionBuffer_h
31 #include <CLHEP/Units/SystemOfUnits.h>
48 if(aB ==
theB) result =
true;
52 if(aB ==
theA) result =
true;
59 std::pair<G4double, G4double> aNew;
72 for(
size_t i=0; i<
theData.size(); i++)
102 G4double result = y1 + (sqrts-x1) * (y2-y1)/(x2-x1);
103 if(result<0) result = 0;
110 for(
size_t i=0;i<
theData.size(); i++)
117 std::vector<std::pair<G4double, G4double> >
theData;
const G4ParticleDefinition * theB
const G4ParticleDefinition * theA
G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
std::vector< std::pair< G4double, G4double > > theData
void push_back(G4double S, G4double x)
const G4LorentzVector & Get4Momentum() const
static constexpr double millibarn
G4GLOB_DLL std::ostream G4cerr
G4CrossSectionBuffer(const G4ParticleDefinition *aA, const G4ParticleDefinition *aB)
G4bool InCharge(const G4ParticleDefinition *aA, const G4ParticleDefinition *aB) const