1#ifndef SIMCORE_TRACKERSD_H
2#define SIMCORE_TRACKERSD_H
6#include "SimCore/SensitiveDetector.h"
34 virtual bool isSensDet(G4LogicalVolume* volume)
const override {
35 return (volume->GetName().contains(
"Sensor") and
45 G4bool
ProcessHits(G4Step* step, G4TouchableHistory* history)
override;
64 std::vector<ldmx::SimTrackerHit>
hits_;
Class which encapsulates information from a hit in a simulated tracking detector.
Class that defines a Tracker detector ID with a module number.
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.
Dynamically loaded Geant4 SensitiveDetector for saving hits in specific volumes within the simulation...
Basic sensitive detector for trackers.
virtual ~TrackerSD()=default
Destructor.
G4bool ProcessHits(G4Step *step, G4TouchableHistory *history) override
Process a step by creating a hit.
std::string subsystem_
The name of the subsystem we are apart of.
std::string collection_name_
The name of the output collection.
virtual void OnFinishedEvent() override
Cleanup SD and prepare a new-event state.
ldmx::SubdetectorIDType subDetID_
The detector ID.
virtual void saveHits(framework::Event &event) override
Add the hits to the event and then reset the container.
virtual bool isSensDet(G4LogicalVolume *volume) const override
Should the input logical volume be attached to this sensitive detector?
std::vector< ldmx::SimTrackerHit > hits_
The collection of hits.