Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
G4VBiasingInteractionLaw Class Referenceabstract

#include <G4VBiasingInteractionLaw.hh>

Inheritance diagram for G4VBiasingInteractionLaw:
G4ILawCommonTruncatedExp G4ILawForceFreeFlight G4ILawTruncatedExp G4InteractionLawPhysical

Public Member Functions

 G4VBiasingInteractionLaw (G4String name)
 
virtual ~G4VBiasingInteractionLaw ()
 
const G4StringGetName () const
 
virtual G4double ComputeNonInteractionProbabilityAt (G4double length) const =0
 
virtual G4double ComputeEffectiveCrossSectionAt (G4double length) const =0
 
virtual G4bool IsSingular () const
 
virtual G4bool IsEffectiveCrossSectionInfinite () const
 
G4double Sample ()
 
G4double UpdateForStep (G4double truePathLength)
 
G4double GetSampledInteractionLength () const
 

Protected Member Functions

virtual G4double SampleInteractionLength ()=0
 
virtual G4double UpdateInteractionLengthForStep (G4double)
 

Detailed Description

Definition at line 62 of file G4VBiasingInteractionLaw.hh.

Constructor & Destructor Documentation

G4VBiasingInteractionLaw::G4VBiasingInteractionLaw ( G4String  name)
inline

Definition at line 64 of file G4VBiasingInteractionLaw.hh.

64 : fName(name), fSampledInteractionLength(DBL_MAX) {}
#define DBL_MAX
Definition: templates.hh:83
virtual G4VBiasingInteractionLaw::~G4VBiasingInteractionLaw ( )
inlinevirtual

Definition at line 65 of file G4VBiasingInteractionLaw.hh.

65 {}

Member Function Documentation

virtual G4double G4VBiasingInteractionLaw::ComputeEffectiveCrossSectionAt ( G4double  length) const
pure virtual
virtual G4double G4VBiasingInteractionLaw::ComputeNonInteractionProbabilityAt ( G4double  length) const
pure virtual
const G4String& G4VBiasingInteractionLaw::GetName ( void  ) const
inline
G4double G4VBiasingInteractionLaw::GetSampledInteractionLength ( ) const
inline

Definition at line 108 of file G4VBiasingInteractionLaw.hh.

Referenced by G4BiasingProcessInterface::PostStepGetPhysicalInteractionLength().

108 { return fSampledInteractionLength; }
virtual G4bool G4VBiasingInteractionLaw::IsEffectiveCrossSectionInfinite ( ) const
inlinevirtual
virtual G4bool G4VBiasingInteractionLaw::IsSingular ( ) const
inlinevirtual

Reimplemented in G4ILawForceFreeFlight, G4ILawTruncatedExp, and G4ILawCommonTruncatedExp.

Definition at line 89 of file G4VBiasingInteractionLaw.hh.

Referenced by G4BiasingProcessInterface::PostStepDoIt().

89 {return false;}
G4double G4VBiasingInteractionLaw::Sample ( )
inline

Definition at line 98 of file G4VBiasingInteractionLaw.hh.

References SampleInteractionLength().

Referenced by G4BOptnChangeCrossSection::Sample(), and G4BOptnForceCommonTruncatedExp::Sample().

99  {
100  fSampledInteractionLength = SampleInteractionLength();
101  return fSampledInteractionLength;
102  }
virtual G4double SampleInteractionLength()=0
virtual G4double G4VBiasingInteractionLaw::SampleInteractionLength ( )
protectedpure virtual
G4double G4VBiasingInteractionLaw::UpdateForStep ( G4double  truePathLength)
inline

Definition at line 103 of file G4VBiasingInteractionLaw.hh.

References UpdateInteractionLengthForStep().

Referenced by G4BOptnChangeCrossSection::UpdateForStep(), and G4BOptnForceCommonTruncatedExp::UpdateForStep().

104  {
105  fSampledInteractionLength = UpdateInteractionLengthForStep(truePathLength);
106  return fSampledInteractionLength;
107  }
virtual G4double UpdateInteractionLengthForStep(G4double)
virtual G4double G4VBiasingInteractionLaw::UpdateInteractionLengthForStep ( G4double  )
inlineprotectedvirtual

Reimplemented in G4ILawForceFreeFlight, G4InteractionLawPhysical, and G4ILawTruncatedExp.

Definition at line 84 of file G4VBiasingInteractionLaw.hh.

References DBL_MAX.

Referenced by UpdateForStep().

84 { return DBL_MAX; }
#define DBL_MAX
Definition: templates.hh:83

The documentation for this class was generated from the following file: