36 fInteractionOccured(false)
55 proposeForceCondition =
Forced;
60 proposeForceCondition =
Forced;
79 forceFinalState =
true;
85 forceFinalState =
true;
93 if ( processGPIL <= step->GetStepLength() )
99 forceFinalState =
false;
105 forceFinalState =
true;
135 GetNavigatorForTracking()->
136 GetGlobalToLocalTransform()).TransformPoint(track->
GetPosition());
138 GetNavigatorForTracking()->
171 for ( std::map< const G4VProcess*, G4double>::const_iterator it =
fCrossSections.begin();
175 sigmaSelect += (*it).second;
176 if ( sigmaRand <= sigmaSelect )
virtual void Initialize(const G4Track &track)
std::map< const G4VProcess *, G4double > fCrossSections
virtual G4VParticleChange * ApplyFinalStateBiasing(const G4BiasingProcessInterface *, const G4Track *, const G4Step *, G4bool &)
virtual const G4VBiasingInteractionLaw * ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface *, G4ForceCondition &)
CLHEP::Hep3Vector G4ThreeVector
G4double GetStepLength() const
G4BOptnForceCommonTruncatedExp(G4String name)
void UpdateForStep(const G4Step *)
void Initialize(const G4Track *)
G4double GetPostStepGPIL() const
void SetSelectedProcessXSfraction(G4double fXS)
G4ILawForceFreeFlight * fForceFreeFlightLaw
void AddCrossSection(const G4VProcess *, G4double)
const G4ThreeVector & GetPosition() const
G4bool fInteractionOccured
virtual ~G4BOptnForceCommonTruncatedExp()
G4VProcess * GetWrappedProcess() const
G4ParticleChangeForNothing fDummyParticleChange
G4double fTotalCrossSection
G4double fMaximumDistance
static G4TransportationManager * GetTransportationManager()
G4double GetAlongStepGPIL() const
G4ThreeVector GetMomentum() const
const G4ThreeVector & GetMomentumDirection() const
G4LogicalVolume * GetLogicalVolume() const
void ChooseProcessToApply()
void PostStepInteractionOccured(const G4VProcess *)
G4ILawCommonTruncatedExp * fCommonTruncatedExpLaw
G4double UpdateForStep(G4double truePathLength)
G4VPhysicalVolume * GetVolume() const
const G4VProcess * fProcessToApply
void SetForceCrossSection(G4double xs)
G4ThreeVector fInitialMomentum
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)=0
virtual G4GPILSelection ProposeGPILSelection(const G4GPILSelection processSelection)
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
G4double GetMaximumDistance() const
void SetMaximumDistance(G4double d)
G4VSolid * GetSolid() const