Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ILawCommonTruncatedExp Class Reference

#include <G4ILawCommonTruncatedExp.hh>

Inheritance diagram for G4ILawCommonTruncatedExp:
Collaboration diagram for G4ILawCommonTruncatedExp:

Public Member Functions

 G4ILawCommonTruncatedExp (G4String name="expSharedForceInteractionLaw")
 
virtual ~G4ILawCommonTruncatedExp ()
 
virtual G4bool IsSingular () const
 
virtual G4bool IsEffectiveCrossSectionInfinite () const
 
virtual G4double ComputeEffectiveCrossSectionAt (G4double length) const
 
virtual G4double ComputeNonInteractionProbabilityAt (G4double length) const
 
void SetForceCrossSection (G4double xs)
 
void SetSelectedProcessXSfraction (G4double fXS)
 
G4double SetSelectedProcessXSfraction () const
 
void SetMaximumDistance (G4double d)
 
G4double GetMaximumDistance () const
 
G4double GetInteractionDistance () const
 
- Public Member Functions inherited from G4VBiasingInteractionLaw
 G4VBiasingInteractionLaw (G4String name)
 
virtual ~G4VBiasingInteractionLaw ()
 
const G4StringGetName () const
 
G4double Sample ()
 
G4double UpdateForStep (G4double truePathLength)
 
G4double GetSampledInteractionLength () const
 

Additional Inherited Members

Detailed Description

Definition at line 51 of file G4ILawCommonTruncatedExp.hh.

Constructor & Destructor Documentation

G4ILawCommonTruncatedExp::G4ILawCommonTruncatedExp ( G4String  name = "expSharedForceInteractionLaw")

Definition at line 33 of file G4ILawCommonTruncatedExp.cc.

35  fExpInteractionLaw("expLawFor"+name)
36 {}
G4ILawCommonTruncatedExp::~G4ILawCommonTruncatedExp ( )
virtual

Definition at line 38 of file G4ILawCommonTruncatedExp.cc.

39 {}

Member Function Documentation

G4double G4ILawCommonTruncatedExp::ComputeEffectiveCrossSectionAt ( G4double  length) const
virtual

Implements G4VBiasingInteractionLaw.

Definition at line 42 of file G4ILawCommonTruncatedExp.cc.

43 {
44  return fExpInteractionLaw.ComputeEffectiveCrossSectionAt( distance ) * fSelectedProcessXSfraction;
45 }
virtual G4double ComputeEffectiveCrossSectionAt(G4double length) const

Here is the call graph for this function:

G4double G4ILawCommonTruncatedExp::ComputeNonInteractionProbabilityAt ( G4double  length) const
virtual

Implements G4VBiasingInteractionLaw.

Definition at line 47 of file G4ILawCommonTruncatedExp.cc.

48 {
49  G4double niProba = fExpInteractionLaw.ComputeNonInteractionProbabilityAt( distance );
50 
51  if ( niProba <= 0.0 )
52  {
54  ed << " Negative probability for `" << GetName() << "' p = " << niProba << " distance = " << distance << " !!! " << G4endl;
55  G4Exception(" G4ILawCommonTruncatedExp::ComputeNonInteractionProbabilityAt(...)",
56  "BIAS.GEN.08",
58  ed);
59  }
60 
61  return niProba;
62 
63 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
virtual G4double ComputeNonInteractionProbabilityAt(G4double length) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
const G4String & GetName() const
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4double G4ILawCommonTruncatedExp::GetInteractionDistance ( ) const
inline

Definition at line 79 of file G4ILawCommonTruncatedExp.hh.

79 { return fExpInteractionLaw.GetInteractionDistance(); }
G4double GetInteractionDistance() const

Here is the call graph for this function:

G4double G4ILawCommonTruncatedExp::GetMaximumDistance ( ) const
inline

Definition at line 78 of file G4ILawCommonTruncatedExp.hh.

78 { return fExpInteractionLaw.GetMaximumDistance(); }
G4double GetMaximumDistance() const

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4bool G4ILawCommonTruncatedExp::IsEffectiveCrossSectionInfinite ( ) const
inlinevirtual

Reimplemented from G4VBiasingInteractionLaw.

Definition at line 60 of file G4ILawCommonTruncatedExp.hh.

61  {return fExpInteractionLaw.IsEffectiveCrossSectionInfinite();}
virtual G4bool IsEffectiveCrossSectionInfinite() const

Here is the call graph for this function:

virtual G4bool G4ILawCommonTruncatedExp::IsSingular ( ) const
inlinevirtual

Reimplemented from G4VBiasingInteractionLaw.

Definition at line 58 of file G4ILawCommonTruncatedExp.hh.

59  {return fExpInteractionLaw.IsSingular();}
virtual G4bool IsSingular() const

Here is the call graph for this function:

void G4ILawCommonTruncatedExp::SetForceCrossSection ( G4double  xs)
inline

Definition at line 74 of file G4ILawCommonTruncatedExp.hh.

74 { fExpInteractionLaw.SetForceCrossSection( xs ); }
void SetForceCrossSection(G4double xs)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ILawCommonTruncatedExp::SetMaximumDistance ( G4double  d)
inline

Definition at line 77 of file G4ILawCommonTruncatedExp.hh.

77 { fExpInteractionLaw.SetMaximumDistance(d); }
void SetMaximumDistance(G4double d)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ILawCommonTruncatedExp::SetSelectedProcessXSfraction ( G4double  fXS)
inline

Definition at line 75 of file G4ILawCommonTruncatedExp.hh.

75 { fSelectedProcessXSfraction = fXS; }

Here is the caller graph for this function:

G4double G4ILawCommonTruncatedExp::SetSelectedProcessXSfraction ( ) const
inline

Definition at line 76 of file G4ILawCommonTruncatedExp.hh.

76 { return fSelectedProcessXSfraction; }

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