1#ifndef BIASING_TARGETBREMFILTER_H
2#define BIASING_TARGETBREMFILTER_H
12#include "SimCore/UserAction.h"
17#include "Framework/Configure/Parameters.h"
38 void stepping(
const G4Step* step)
override;
54 const G4Track* aTrack,
55 const G4ClassificationOfNewTrack& currentTrackClass)
override;
58 std::vector<simcore::TYPE>
getTypes()
override {
59 return {simcore::TYPE::EVENT, simcore::TYPE::STACKING,
60 simcore::TYPE::STEPPING};
User action that allows a user to filter out events that don't result in a brem within the target.
bool killRecoil_
Flag indicating if the recoil electron track should be killed.
std::vector< simcore::TYPE > getTypes() override
Retrieve the type of actions this class defines.
void EndOfEventAction(const G4Event *) override
Method called at the end of every event.
void stepping(const G4Step *step) override
Implement the stepping action which performs the target volume biasing.
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack, const G4ClassificationOfNewTrack ¤tTrackClass) override
Classify a new track which postpones track processing.
double recoilMaxPThreshold_
Recoil electron threshold.
~TargetBremFilter()
Destructor.
double bremEnergyThreshold_
Brem gamma energy treshold.
Class encapsulating parameters for configuring a processor.
Interface that defines a user action.