8#ifndef SIMCORE_ECALSD_H_
9#define SIMCORE_ECALSD_H_
15#include "SimCore/SensitiveDetector.h"
16#include "SimCore/TrackMap.h"
22#include "G4Polyhedra.hh"
54 virtual bool isSensDet(G4LogicalVolume* vol)
const override {
55 auto region = vol->GetRegion();
56 if (region and region->GetName().contains(
"CalorimeterRegion")) {
57 return vol->GetName().contains(
"Si");
67 G4bool
ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist)
override;
81 std::map<ldmx::EcalID, ldmx::SimCalorimeterHit>
hits_;
Class that defines an ECal detector ID with a cell number.
Class which stores simulated calorimeter hit information.
Class which implements the user tracking action.
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.
ECal sensitive detector that uses an EcalHexReadout to create the hits.
static const std::string COLLECTION_NAME
Name of output collection of hits.
bool compressHitContribs_
compress hit contribs
std::map< ldmx::EcalID, ldmx::SimCalorimeterHit > hits_
map of hits to add to the event (will be squashed)
virtual bool isSensDet(G4LogicalVolume *vol) const override
Should the input volume be consider apart of this sensitive detector?
virtual void saveHits(framework::Event &event) override
Add our hits to the event bus.
bool enableHitContribs_
enable hit contribs
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist) override
Process steps to create hits.
virtual ~EcalSD()=default
Class destructor.
virtual void OnFinishedEvent() override
Clear the map of hits we have accumulated.
Dynamically loaded Geant4 SensitiveDetector for saving hits in specific volumes within the simulation...