G4VContinuousDiscreteProcess
class
public:
G4VContinuousDiscreteProcess(const G4String& ,
G4ProcessType aType = fNotDefined );
G4VContinuousDiscreteProcess(G4VContinuousDiscreteProcess &);
virtual ~G4VContinuousDiscreteProcess();
public :
virtual G4double PostStepGetPhysicalInteractionLength(
const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition
);
virtual G4VParticleChange* PostStepDoIt(
const G4Track& ,
const G4Step&
);
virtual G4double AlongStepGetPhysicalInteractionLength(
const G4Track&,
G4double previousStepSize,
G4double currentMinimumStep,
G4double& currentSafety,
G4GPILSelection* selection
);
virtual G4VParticleChange* AlongStepDoIt(
const G4Track& ,
const G4Step&
);
virtual G4double AtRestGetPhysicalInteractionLength(
const G4Track& ,
G4ForceCondition*
) { return -1.0; };
virtual G4VParticleChange* AtRestDoIt(
const G4Track& ,
const G4Step&
) {return 0;};
protected:
virtual G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* condition
)=0;
protected:
virtual G4double GetContinuousStepLimit(const G4Track& aTrack,
G4double previousStepSize,
G4double currentMinimumStep,
G4double& currentSafety
)=0;
private:
G4GPILSelection valueGPILSelection;
protected:
void SetGPILSelection(G4GPILSelection selection)
{ valueGPILSelection = selection;};
G4GPILSelection GetGPILSelection() const{return valueGPILSelection;};
private:
G4VContinuousDiscreteProcess();
G4VContinuousDiscreteProcess & operator=(const G4VContinuousDiscreteProcess &right);