60 G4VParticleChange* processFinalState =
72 if ( processFinalState->GetNumberOfSecondaries() == 0 )
return processFinalState;
86 G4ParticleChangeForLoss* actualParticleChange =
87 ( G4ParticleChangeForLoss* ) processFinalState ;
93 ProposeTrackStatus ( actualParticleChange->GetTrackStatus() );
95 ProposeEnergy ( actualParticleChange->GetProposedKineticEnergy() );
97 ProposeMomentumDirection( actualParticleChange->GetProposedMomentumDirection() );
111 G4Track* gammaTrack = actualParticleChange->GetSecondary(0);
112 gammaTrack->SetWeight( gammaWeight );
115 actualParticleChange->Clear();
125 if ( processFinalState->GetNumberOfSecondaries() == 1 )
127 gammaTrack = processFinalState->GetSecondary(0);
128 gammaTrack->SetWeight( gammaWeight );
133 else if ( processFinalState->GetNumberOfSecondaries() > 1 )
135 for (
G4int i = 0 ; i < processFinalState->GetNumberOfSecondaries() ; i++)
136 delete processFinalState->GetSecondary(i);
138 processFinalState->Clear();
G4ParticleChange fParticleChange
G4VProcess * GetWrappedProcess() const
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)=0