8#include "G4VSensitiveDetector.hh"
13#include <gtest/gtest_prod.h>
50 std::string hitCollectionName,
51 std::string deadHitCollectionName,
52 std::string srHitCollectionName,
62 G4bool
ProcessHits(G4Step* a_step,G4TouchableHistory*)
override;
78 G4bool
SpecialHit(G4Step* a_step,
const std::vector<G4double>& a_energies);
83 const std::vector<double>& energies,
84 bool deadMaterialHit =
false);
87 const std::vector<double>& energies);
LArCalibrationHitContainerBuilderBase< CaloCalibrationHitContainer > LArCalibrationHitContainerBuilder
LArCalibrationHitContainerBuilderBase< SrCaloCalibrationHitContainer > LArSrCalibrationHitContainerBuilder
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Helper class for Calo Dead Material offline identifiers.
Helper class for LArEM offline identifiers.
Helper class for LArFCAL offline identifiers.
FRIEND_TEST(LArG4CalibSDtest, addDetectorHelper)
Identifier ConvertID(const LArG4Identifier &a_ident) const
Helper function for making "real" identifiers from LArG4Identifiers.
std::string m_deadHitCollectionName
FRIEND_TEST(LArG4CalibSDtest, SimpleHit)
LArCalibrationHitContainerBuilder * getCalibrationHits(bool deadMaterialHit) const
LArSrCalibrationHitContainerBuilder * getSrCalibrationHits() const
FRIEND_TEST(LArG4CalibSDtest, ProcessHits)
LArG4CalibSD(G4String a_name, ILArCalibCalculatorSvc *calc, std::string hitCollectionName, std::string deadHitCollectionName, std::string srHitCollectionName, bool doPID=false)
Constructor.
G4bool SimpleHit(const LArG4Identifier &a_ident, const std::vector< double > &energies, bool deadMaterialHit=false)
Constructs the calibration hit and saves it to the appropriate builder.
std::string m_hitCollectionName
FRIEND_TEST(LArG4CalibSDtest, setupHelpers)
const AtlasDetectorID * m_id_helper
Identifier ConvertSRID(const LArG4Identifier &sr_id, const LArG4Identifier &lr_id) const
void Initialize(G4HCofThisEvent *) override
Register this regular SD with the event-owned builders.
const CaloDM_ID * m_caloDmID
void addDetectorHelper(const AtlasDetectorID *id_helper)
ILArCalibCalculatorSvc * m_calculator
Member variable - the calculator we'll use.
G4bool m_doPID
Are we set up to run with PID hits?
G4bool SrHit(const LArG4Identifier &a_ident, const LArG4Identifier &sr_id, const std::vector< double > &energies)
G4bool ProcessHits(G4Step *a_step, G4TouchableHistory *) override
Main processing method.
G4bool SpecialHit(G4Step *a_step, const std::vector< G4double > &a_energies)
For other classes that need to call into us...
std::string m_hitSourceName
FRIEND_TEST(LArG4CalibSDtest, ConvertID)
G4int m_numberInvalidHits
Count the number of invalid hits.
void setupHelpers(const LArEM_ID *EM, const LArFCAL_ID *FCAL, const LArHEC_ID *HEC, const CaloDM_ID *caloDm)
Sets the ID helper pointers.
FRIEND_TEST(LArG4CalibSDtest, SpecialHit)
virtual ~LArG4CalibSD()
Destructor.
const LArHEC_ID * m_larHecID
const LArFCAL_ID * m_larFcalID
std::string m_srHitCollectionName
const LArEM_ID * m_larEmID
Pointers to the identifier helpers.
Helper class for LArHEC offline identifiers.