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

#include <G4BOptnChangeCrossSection.hh>

Inheritance diagram for G4BOptnChangeCrossSection:
Collaboration diagram for G4BOptnChangeCrossSection:

Public Member Functions

 G4BOptnChangeCrossSection (G4String name)
 
virtual ~G4BOptnChangeCrossSection ()
 
virtual const
G4VBiasingInteractionLaw
ProvideOccurenceBiasingInteractionLaw (const G4BiasingProcessInterface *, G4ForceCondition &proposeForceCondition)
 
virtual G4VParticleChangeApplyFinalStateBiasing (const G4BiasingProcessInterface *, const G4Track *, const G4Step *, G4bool &)
 
virtual G4double DistanceToApplyOperation (const G4Track *, G4double, G4ForceCondition *)
 
virtual G4VParticleChangeGenerateBiasingFinalState (const G4Track *, const G4Step *)
 
G4InteractionLawPhysicalGetBiasedExponentialLaw ()
 
void SetBiasedCrossSection (G4double xst)
 
G4double GetBiasedCrossSection () const
 
void Sample ()
 
void UpdateForStep (G4double stepLength)
 
G4bool GetInteractionOccured () const
 
void SetInteractionOccured ()
 
- Public Member Functions inherited from G4VBiasingOperation
 G4VBiasingOperation (G4String name)
 
virtual ~G4VBiasingOperation ()
 
virtual G4double ProposeAlongStepLimit (const G4BiasingProcessInterface *)
 
virtual G4GPILSelection ProposeGPILSelection (const G4GPILSelection wrappedProcessSelection)
 
virtual void AlongMoveBy (const G4BiasingProcessInterface *, const G4Step *, G4double)
 
const G4StringGetName () const
 
std::size_t GetUniqueID () const
 

Detailed Description

Definition at line 47 of file G4BOptnChangeCrossSection.hh.

Constructor & Destructor Documentation

G4BOptnChangeCrossSection::G4BOptnChangeCrossSection ( G4String  name)

Definition at line 31 of file G4BOptnChangeCrossSection.cc.

32  : G4VBiasingOperation( name ),
33  fInteractionOccured( false )
34 {
35  fBiasedExponentialLaw = new G4InteractionLawPhysical("LawForOperation"+name);
36 }
G4VBiasingOperation(G4String name)
G4BOptnChangeCrossSection::~G4BOptnChangeCrossSection ( )
virtual

Definition at line 38 of file G4BOptnChangeCrossSection.cc.

39 {
40  if ( fBiasedExponentialLaw ) delete fBiasedExponentialLaw;
41 }

Member Function Documentation

virtual G4VParticleChange* G4BOptnChangeCrossSection::ApplyFinalStateBiasing ( const G4BiasingProcessInterface ,
const G4Track ,
const G4Step ,
G4bool  
)
inlinevirtual

Implements G4VBiasingOperation.

Definition at line 62 of file G4BOptnChangeCrossSection.hh.

65  {return 0;}
virtual G4double G4BOptnChangeCrossSection::DistanceToApplyOperation ( const G4Track ,
G4double  ,
G4ForceCondition  
)
inlinevirtual

Implements G4VBiasingOperation.

Definition at line 66 of file G4BOptnChangeCrossSection.hh.

68  {return DBL_MAX;}
#define DBL_MAX
Definition: templates.hh:83
virtual G4VParticleChange* G4BOptnChangeCrossSection::GenerateBiasingFinalState ( const G4Track ,
const G4Step  
)
inlinevirtual

Implements G4VBiasingOperation.

Definition at line 69 of file G4BOptnChangeCrossSection.hh.

70  {return 0;}
G4double G4BOptnChangeCrossSection::GetBiasedCrossSection ( ) const

Definition at line 53 of file G4BOptnChangeCrossSection.cc.

54 {
55  return fBiasedExponentialLaw->GetPhysicalCrossSection();
56 }
G4double GetPhysicalCrossSection() const

Here is the call graph for this function:

G4InteractionLawPhysical* G4BOptnChangeCrossSection::GetBiasedExponentialLaw ( )
inline

Definition at line 76 of file G4BOptnChangeCrossSection.hh.

76 {return fBiasedExponentialLaw;}
G4bool G4BOptnChangeCrossSection::GetInteractionOccured ( ) const
inline

Definition at line 86 of file G4BOptnChangeCrossSection.hh.

86 { return fInteractionOccured; }
const G4VBiasingInteractionLaw * G4BOptnChangeCrossSection::ProvideOccurenceBiasingInteractionLaw ( const G4BiasingProcessInterface ,
G4ForceCondition proposeForceCondition 
)
virtual

Implements G4VBiasingOperation.

Definition at line 43 of file G4BOptnChangeCrossSection.cc.

44 {
45  return fBiasedExponentialLaw;
46 }
void G4BOptnChangeCrossSection::Sample ( )

Definition at line 58 of file G4BOptnChangeCrossSection.cc.

59 {
60  fInteractionOccured = false;
61  fBiasedExponentialLaw->Sample();
62 }

Here is the call graph for this function:

void G4BOptnChangeCrossSection::SetBiasedCrossSection ( G4double  xst)

Definition at line 48 of file G4BOptnChangeCrossSection.cc.

49 {
50  fBiasedExponentialLaw->SetPhysicalCrossSection( xst );
51 }
void SetPhysicalCrossSection(G4double crossSection)

Here is the call graph for this function:

void G4BOptnChangeCrossSection::SetInteractionOccured ( )
inline

Definition at line 87 of file G4BOptnChangeCrossSection.hh.

87 { fInteractionOccured = true; }
void G4BOptnChangeCrossSection::UpdateForStep ( G4double  stepLength)

Definition at line 64 of file G4BOptnChangeCrossSection.cc.

65 {
66  fBiasedExponentialLaw->UpdateForStep( truePathLength );
67 }
G4double UpdateForStep(G4double truePathLength)

Here is the call graph for this function:


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