Class RMGGermaniumOutputScheme¶
Defined in File RMGGermaniumOutputScheme.hh
Inheritance Relationships¶
Base Type¶
public RMGVOutputScheme(Class RMGVOutputScheme)
Class Documentation¶
-
class RMGGermaniumOutputScheme : public RMGVOutputScheme¶
Output scheme for Germanium detectors.
This output scheme records the hits in the Germanium detectors. The properties of each
RMGGermaniumDetectorHitare recorded:event index,
particle type,
time,
position,
energy deposition,
distance to detector surface.
Optionally, the track ID and parent track ID can be stored as well as the detector ID for the single table output mode.
In addition, this class can be used for stacking tracks associated with optical photons when no energy was deposited in Germanium.
Public Types
Public Functions
-
RMGGermaniumOutputScheme()¶
-
virtual void AssignOutputNames(G4AnalysisManager *ana_man) override¶
Sets the names of the output columns, invoked in
RMGRunAction::SetupAnalysisManager.
-
virtual void StoreEvent(const G4Event *event) override¶
Store the information from the event, invoked in
RMGEventAction::EndOfEventAction.Only steps with non-zero energy are stored, unless
fDiscardZeroEnergyHitsis false.
-
virtual bool ShouldDiscardEvent(const G4Event *event) override¶
Decide whether to store the event, invoked in
RMGEventAction::EndOfEventAction.trueif the event should be discarded, elsefalse. The event is discarded if there is no hit in Germanium or the energy range condition is not met.
-
virtual std::optional<bool> StackingActionNewStage(int) override¶
Wraps
G4UserStackingAction::StackingActionNewStage.discard all waiting events, if
ShouldDiscardEvent()is true.
-
virtual std::optional<G4ClassificationOfNewTrack> StackingActionClassify(const G4Track*, int) override¶
Wraps
G4UserStackingAction::StackingActionClassify.This is used to classify all optical photon tracks as
fWaitingiffDiscardPhotonsIfNoGermaniumEdepis true.
-
inline void SetEdepCutLow(double threshold)¶
Set a lower cut on the energy deposited in the event to store it.
-
inline void SetEdepCutHigh(double threshold)¶
Set a lower cut on the energy deposited in the event to store it.
-
inline void AddEdepCutDetector(int det_uid)¶
Add a detector uid to the list of detectors to apply the energy cut for.
-
inline void SetPositionMode(PositionMode mode)¶
Set which position is used for the steps.
Protected Functions
-
inline virtual std::string GetNtuplenameFlat() const override¶