|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_FASTCALOSIMSD_SDWRAPPER_H
6 #define ISF_FASTCALOSIMSD_SDWRAPPER_H
14 #include "G4VSensitiveDetector.hh"
23 class FCS_StepInfoCollection;
49 template<
class SDType,
class HitContainerType>
56 using SDList_t = std::vector< std::unique_ptr<SDType> >;
59 SDWrapper(
const std::string&
name,
const std::string& hitCollectionName);
62 void addSD(std::unique_ptr<SDType>
sd);
65 virtual void Initialize(G4HCofThisEvent*)
override final;
68 virtual bool ProcessHits(G4Step*, G4TouchableHistory*)
override final;
SG::WriteHandle< HitContainerType > m_hitColl
The hit container handle.
std::string m_hitCollName
The hit container name.
std::vector< std::unique_ptr< SDType > > SDList_t
Alias to the SD list type.
Handle class for recording to StoreGate.
SDList_t m_sdList
The list of sensitive detectors that I own and manage.
SDWrapper(const std::string &name, const std::string &hitCollectionName)
Construct the wrapper from the output collection name.
void EndOfAthenaEvent()
Gather the hits into the WriteHandle from all the SDs.
virtual void Initialize(G4HCofThisEvent *) override final
Beginning of G4 event; initialize the hit collection.
Common sensitive detector class for LAr systems.
A template class which wraps multiple sensitive detectors.
void addSD(std::unique_ptr< SDType > sd)
Add an SD to this wrapper.
virtual bool ProcessHits(G4Step *, G4TouchableHistory *) override final
This method should not be called. It will throw.