10#include "G4RunManager.hh"
24 G4cout <<
"Destructor: Sensitive Detector <" << SensitiveDetectorName <<
"> had " <<
m_numberInvalidHits
25 <<
" G4Step energy deposits outside the region determined by its Calculator." << G4endl;
36 if (a_step->GetTotalEnergyDeposit() == 0.)
52 id = a_step->GetPreStepPoint()->GetPhysicalVolume()->GetCopyNo();
67 if (atlasG4EvtUserInfo) {
78 if (energies[0] + energies[1] + energies[3] < 0.001 * CLHEP::eV && std::abs(energies[2]) < 0.001 * CLHEP::eV)
93 uint32_t hash =
id.get_identifier32().get_compact();
95 std::map<uint32_t,CaloCalibrationHit*>::iterator it =
m_hitMap.find(hash);
99 m_hitMap.insert(std::pair<uint32_t,CaloCalibrationHit*>(hash,hit));
102 it->second->Add(hit);
116 const std::vector<G4double> &a_energies)
120 id = a_step->GetPreStepPoint()->GetPhysicalVolume()->GetCopyNo();
This class is attached to G4Event objects as UserInformation.
HepMC::ConstGenParticlePtr GetCurrentPrimaryGenParticle() const
return a pointer to the HepMC::GenParticle used to create the current G4PrimaryParticle.
Class to store calorimeter calibration hit.
This class implements the calculations requires to categorize the energies deposited during the simul...
CaloG4::SimulationEnergies * m_simulationEnergies
std::vector< G4double > m_energies
std::map< uint32_t, CaloCalibrationHit * > m_hitMap
G4bool SimpleHit(const Identifier &id, const std::vector< double > &energies)
G4int m_numberInvalidHits
G4bool SpecialHit(G4Step *a_step, const std::vector< G4double > &a_energies)
ZDC_G4CalibSD(const G4String &a_name, const G4String &hitCollectionName, bool doPID=false)
G4bool ProcessHits(G4Step *a_step, G4TouchableHistory *) override
SG::WriteHandle< CaloCalibrationHitContainer > m_HitColl
constexpr int UNDEFINED_ID