32 fCrossSectionDefined(false),
33 fNumberOfInteractionLength(-1.0)
41 if (crossSection < 0.0)
43 G4Exception(
"G4InteractionLawPhysical::SetPhysicalCrossSection(..)",
46 "Cross-section value passed is negative. It is set to zero !");
58 "Cross-section value requested, but has not been defined yet. Assumes 0 !");
67 "Non interaction probabitlity value requested, but cross section has not been defined yet. Assumes it to be 0 !");
78 "Trying to sample while cross-section is not defined or < 0 !");
94 G4Exception(
"G4InteractionLawPhysical::UpdateInteractionLengthForStep(...)",
G4bool fCrossSectionDefined
virtual G4double ComputeNonInteractionProbabilityAt(G4double length) const
std::ostringstream G4ExceptionDescription
virtual G4double UpdateInteractionLengthForStep(G4double truePathLength)
G4InteractionLawPhysical(G4String name="exponentialLaw")
virtual G4double SampleInteractionLength()
virtual G4double ComputeEffectiveCrossSectionAt(G4double length) const
G4double fNumberOfInteractionLength
void SetPhysicalCrossSection(G4double crossSection)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual ~G4InteractionLawPhysical()
const G4String & GetName() const