00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef BgsGenocide_hh
00026 #define BgsGenocide_hh
00027
00028 #include "globals.hh"
00029 #include "G4VProcess.hh"
00030
00031 class BgsGenocide : public G4VProcess {
00032 public:
00033 BgsGenocide( const G4String &name="BgsGenocide",
00034 G4ProcessType type=fUserDefined );
00035 virtual ~BgsGenocide();
00036
00037
00038
00039
00040 virtual G4double
00041 PostStepGetPhysicalInteractionLength( const G4Track& track,
00042 G4double previousStepSize,
00043 G4ForceCondition* condition );
00044
00045 virtual G4VParticleChange* PostStepDoIt( const G4Track &track,
00046 const G4Step &step );
00047
00048 virtual G4double
00049 AlongStepGetPhysicalInteractionLength( const G4Track&,
00050 G4double previousStepSize,
00051 G4double currentMinimumStep,
00052 G4double& currentSafety,
00053 G4GPILSelection* selection )
00054 { return -1.0; }
00055
00056 virtual G4VParticleChange* AlongStepDoIt( const G4Track &track,
00057 const G4Step &step )
00058 { return 0; }
00059
00060 virtual G4double
00061 AtRestGetPhysicalInteractionLength( const G4Track &track,
00062 G4ForceCondition *force )
00063 { return -1.0; }
00064
00065 virtual G4VParticleChange*
00066 AtRestDoIt( const G4Track &track, const G4Step &step )
00067 { return 0; }
00068
00069 };
00070
00071
00072 #endif