Class RMGSelectiveEkinMinCutProcess

Inheritance Relationships

Base Type

  • public G4UserSpecialCuts

Class Documentation

class RMGSelectiveEkinMinCutProcess : public G4UserSpecialCuts

Variant of G4UserSpecialCuts that only enforces the kinetic-energy cut on the (logical-volume, particle) pairs registered with RMGHardware.

Where no selective cut applies, the process returns an infinite interaction length, so it is effectively transparent. This avoids the cost of applying the standard G4UserSpecialCuts globally when the cut is only desired in a few volumes.

Public Functions

explicit RMGSelectiveEkinMinCutProcess(const G4String &process_name = "UserSpecialCut")
~RMGSelectiveEkinMinCutProcess() override = default
G4double PostStepGetPhysicalInteractionLength(const G4Track &aTrack, G4double previousStepSize, G4ForceCondition *condition) override

Defer to the base class only when the volume/particle pair is registered for a selective cut; otherwise return an infinite interaction length.