1#ifndef SIMCORE_SCORINGPLANESD_H
2#define SIMCORE_SCORINGPLANESD_H
4#include "DetDescr/DetectorID.h"
6#include "SimCore/SDs/SensitiveDetector.h"
31 bool isSensDet(G4LogicalVolume* volume)
const override {
43 virtual G4bool
ProcessHits(G4Step* step, G4TouchableHistory* hist)
override;
63 std::vector<ldmx::SimTrackerHit>
hits_;
Class which encapsulates information from a hit in a simulated tracking detector.
Implements an event buffer system for storing event data.
Class encapsulating parameters for configuring a processor.
Handle to the conditions system, provided at construction to classes which require it.
Class defining a basic sensitive detector for scoring planes.
std::string collection_name_
Name of output collection to add.
ScoringPlaneSD(const std::string &name, simcore::ConditionsInterface &ci, const framework::config::Parameters ¶ms)
Constructor.
std::vector< ldmx::SimTrackerHit > hits_
The actual output collection.
virtual G4bool ProcessHits(G4Step *step, G4TouchableHistory *hist) override
This is Geant4's handle to tell us that a particle has stepped through our sensitive detector and we ...
virtual void onFinishedEvent() override
Cleanup SD and prepare a new-event state.
bool isSensDet(G4LogicalVolume *volume) const override
Check if the input logical volume is a scoring plane we should include.
virtual void saveHits(framework::Event &event) override
We are given the event bus here and we must decide now what to persist into the event.
virtual ~ScoringPlaneSD()=default
Destructor.
std::string match_substr_
Substring to match to logical volumes.
Dynamically loaded Geant4 SensitiveDetector for saving hits in specific volumes within the simulation...
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...