diff --git a/include/SimCore/UserEventInformation.h b/include/SimCore/UserEventInformation.h index 65e9e00..9dd94ce 100644 --- a/include/SimCore/UserEventInformation.h +++ b/include/SimCore/UserEventInformation.h @@ -118,6 +118,7 @@ class UserEventInformation : public G4VUserEventInformation { bool wasLastStepEN() const { return last_step_en_; } private: + /// Total number of brem candidates in the event int bremCandidateCount_{0}; diff --git a/include/SimCore/UserTrackInformation.h b/include/SimCore/UserTrackInformation.h index cbf8882..1efa637 100644 --- a/include/SimCore/UserTrackInformation.h +++ b/include/SimCore/UserTrackInformation.h @@ -5,6 +5,7 @@ #include "G4Track.hh" #include "G4VUserTrackInformation.hh" + namespace simcore { /** @@ -83,6 +84,23 @@ class UserTrackInformation : public G4VUserTrackInformation { isBremCandidate_ = isBremCandidate; } +/** + * Check whether this track is a recoil electron. + * + * @return true if this track is a recoil electron, false otherwise. + */ + bool isRecoilElectron() const { return isRecoilElectron_; } + + /** + * Tag this track as a recoil electron by the biasing filters. + * + * @param[in] isRecoilElectron flag indicating whether this track is + * a recoil electron or not. + */ + void tagRecoilElectron(bool isRecoilElectron = true) { + isRecoilElectron_ = isRecoilElectron; + } + /** * Check whether this track is a photon that has undergone a * photo-nuclear reaction. @@ -131,6 +149,9 @@ class UserTrackInformation : public G4VUserTrackInformation { /// Flag indicating whether this track is a brem candidate bool isBremCandidate_{false}; + /// Flag indicating whether this track is a recoil electron + bool isRecoilElectron_{false}; + /** * Flag indicating whether this track has undergone a photo-nuclear * reaction.