16#ifndef _RMG_GEOMETRY_CHECK_OUTPUT_SCHEME_HH_
17#define _RMG_GEOMETRY_CHECK_OUTPUT_SCHEME_HH_
21#include "G4VPhysicalVolume.hh"
22#include "G4VUserTrackInformation.hh"
24#include "RMGVOutputScheme.hh"
35class RMGGeometryCheckOutputScheme :
public RMGVOutputScheme {
39 RMGGeometryCheckOutputScheme() =
default;
50 [[nodiscard]] std::string VolString(
const std::vector<G4VPhysicalVolume*> vols)
const {
52 for (
const auto& s : vols) { text += VolName(s) +
' '; }
56 return vol ? vol->GetName() :
"(null)";
63 std::vector<G4VPhysicalVolume*> fVolumeStack;
64 std::vector<G4VPhysicalVolume*> fSteps;
65 bool fIsOutside =
false;
void TrackingActionPost(const G4Track *aTrack) override
Log the volume sequence traversed by the geantino and flag overlaps.
Definition RMGGeometryCheckOutputScheme.cc:104
void TrackingActionPre(const G4Track *aTrack) override
Attach a fresh GeantinoUserTrackInformation to the geantino track.
Definition RMGGeometryCheckOutputScheme.cc:93
void SteppingAction(const G4Step *) override
Record the physical volume traversed by the geantino in this step.
Definition RMGGeometryCheckOutputScheme.cc:31