1#ifndef SIMCORE_TRACKERSD_H
2#define SIMCORE_TRACKERSD_H
6#include "SimCore/SDs/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.
ldmx::SubdetectorIDType sub_det_id_
The detector ID.
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 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?
TrackerSD(const std::string &name, simcore::ConditionsInterface &ci, const framework::config::Parameters &p)
Class constructor.
std::vector< ldmx::SimTrackerHit > hits_
The collection of hits_.
virtual void onFinishedEvent() override
Cleanup SD and prepare a new-event state.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...