1#ifndef BIASING_TARGETPROCESSFILTER_H
2#define BIASING_TARGETPROCESSFILTER_H
7#include "SimCore/UserAction.h"
12#include "Framework/Configure/Parameters.h"
41 void stepping(
const G4Step *step)
override;
55 const G4Track *aTrack,
56 const G4ClassificationOfNewTrack ¤tTrackClass)
override;
59 std::vector<simcore::TYPE>
getTypes()
override {
60 return {simcore::TYPE::EVENT, simcore::TYPE::STACKING,
61 simcore::TYPE::STEPPING};
Biases Geant4 to only process events where PN reaction occurred in the target.
virtual ~TargetProcessFilter()=default
Destructor.
G4Track * currentTrack_
Pointer to the current track being processed.
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack, const G4ClassificationOfNewTrack ¤tTrackClass) override
Classify a new track which postpones track processing.
std::string process_
The process to bias.
std::vector< simcore::TYPE > getTypes() override
Retrieve the type of actions this class defines.
void EndOfEventAction(const G4Event *) override
End of event action.
void stepping(const G4Step *step) override
Implementmthe stepping action which performs the target volume biasing.
Class encapsulating parameters for configuring a processor.
Interface that defines a user action.