69 throw G4HadronicException(__FILE__, __LINE__,
"G4VCrossSectionSource: unklnown particles in FindKeyParticle");
88 std::size_t nComponents = 0;
92 nComponents = components->size();
94 G4cout <<
"---- " << this->
Name() <<
" ---- has " << nComponents <<
" components" <<
G4endl;
95 for (std::size_t i=0; i<nComponents; ++i)
111 <<
"Ecm = " << sqrtS / GeV <<
" GeV - "
112 <<
" Cross section = " << sigma <<
" mb "
115 std::size_t nComponents = 0;
119 nComponents = components->size();
121 for (std::size_t i=0; i<nComponents; ++i)
123 G4cout <<
"* Component " << i <<
": ";
134 if (e >= eLow && e <= eHigh) answer =
true;
177 G4double denom = eParam*eParam + (e-e0)*(e-e0);
181 result = std::max(0., value);
std::vector< G4CrossSectionSourcePtr > G4CrossSectionVector
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * GetDefinition() const
const G4LorentzVector & Get4Momentum() const
static G4Neutron * Neutron()
G4double GetPDGMass() const
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
static G4Proton * Proton()
G4bool InLimits(G4double e, G4double eLow, G4double eHigh) const
virtual G4double LowLimit() const
const G4ParticleDefinition * FindLightParticle(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual const G4CrossSectionVector * GetComponents() const =0
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
virtual void PrintAll(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual void Print() const
G4bool operator!=(const G4VCrossSectionSource &right) const
virtual G4double HighLimit() const
G4double FcrossX(G4double e, G4double e0, G4double sigma, G4double eParam, G4double power) const
G4bool operator==(const G4VCrossSectionSource &right) const
virtual ~G4VCrossSectionSource()
virtual G4String Name() const =0
const G4ParticleDefinition * FindKeyParticle(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual G4bool IsValid(G4double e) const