84 for (i=0; i<nComponents; i++)
92 else if (i < (nComponents - 1) )
99 crossSection =
Transition(trk1,trk2,component,next);
116 G4int n = components->size();
146 if (denom > 0. && diff > 0.)
149 crossSection = (1.- ratio) * sigma1 + ratio * sigma2;
166 if (denom > 0. && diff > 0.)
169 crossSection = (1.- ratio) * sigma1 + ratio * sigma2;
virtual G4bool IsValid(G4double e) const
const G4LorentzVector & Get4Momentum() const
virtual G4double HighLimit() const
G4bool operator==(const G4CrossSectionPatch &right) const
G4bool operator!=(const G4CrossSectionPatch &right) const
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual G4bool IsValid(G4double e) const
virtual const G4CrossSectionVector * GetComponents() const =0
G4double Transition(const G4KineticTrack &trk1, const G4KineticTrack &trk2, const G4VCrossSectionSource *comp1, const G4VCrossSectionSource *comp2) const
std::vector< G4CrossSectionSourcePtr > G4CrossSectionVector
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
virtual ~G4CrossSectionPatch()
virtual G4double LowLimit() const