18#ifndef TILEGEOG4CALIB_TILEGEOG4CALIBSD_H
19#define TILEGEOG4CALIB_TILEGEOG4CALIBSD_H
21#include "G4VSensitiveDetector.hh"
32#include "GaudiKernel/ServiceHandle.h"
40#include "GaudiKernel/ToolHandle.h"
43#define doHitsTXT false
44#define doHitsNTup true
64class TileGeoG4LookupBuilder;
68class TileGeoG4Section;
76class G4TouchableHistory;
77class G4VPhysicalVolume;
83typedef std::vector<double>
E_4;
87 TileGeoG4CalibSD(
const G4String& name,
const std::vector<std::string>& m_outputCollectionNames,
98 G4bool
ProcessHits(G4Step*, G4TouchableHistory*)
override final;
123 void HitsInfoPrint (
bool,
int);
172 ToolHandle<TileCalibHitNtuple> m_ntuple;
173 ToolHandle<TileCalibHitCntNtup> m_ntupleCnt;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Definition of the abstract IRDBAccessSvc interface.
std::vector< double > E_4
This class is attached to G4Event objects as UserInformation.
Class to store calorimeter calibration hit.
Helper class for offline cell identifiers.
Helper class for Calo Dead Material offline identifiers.
This class implements the calculations requires to categorize the energies deposited during the simul...
The Athena Transient Store API.
This class creates ntuple with calibration hits container info.
This class creates ntuple with calibration hits info.
bool operator()(CaloCalibrationHit *const &p, CaloCalibrationHit *const &q) const
TileGeoG4CalibSD(const G4String &name, const std::vector< std::string > &m_outputCollectionNames, ITileCalculator *tileCalculator, const ServiceHandle< StoreGateSvc > &detStore)
TileEscapedEnergyProcessing * m_tile_eep
void GirderCellIDCalculator()
m_calibrationHits_t::iterator m_calibrationHits_ptr_t
void ResetDMCellIDFields()
TileGeoG4GirderCell * m_gCell
CaloG4::SimulationEnergies::ClassifyResult_t m_result
void SetEscapedEnergy(double escapedEnergy)
ServiceHandle< IGeoModelSvc > m_geoModSvc
m_calibrationHits_t m_deadCalibrationHits
bool m_isExtended
set to true if hit is in extended barrel
void DefaultHitIDCalculator()
Identifier DM_ID_Maker(int det, int type, int sample, int region, int tower, int module)
m_calibrationHits_t m_activeCalibrationHits
bool m_addToCell
set to true if DM hit in front plate is added to a real cell (currently equal to _plateToCell)
std::set< CaloCalibrationHit *, LessHit > m_calibrationHits_t
const CaloDM_ID * m_caloDM_ID
Identifier GetCellIDOnStep()
TileGeoG4CalibSD & operator=(const TileGeoG4CalibSD &)
void InvokeUserTrackingAction()
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
CaloG4::SimulationEnergies * m_simEn
void CellNumCorrectToHit(int, int)
bool m_plateToCell
set to true if DM hit in end/front plate is added to a real cell (taken from DB or from JO)
std::string m_tileInactiveCellCalibHits
const CaloCell_ID * m_caloCell_ID
bool AreClassifiedEnergiesAllZero()
TileGeoG4CalibSection * m_cSection
std::string m_tileActiveCellCalibHits
double GetVisibleEnergy()
void DebugDMCellIDFields(int)
std::string m_tileDeadMaterialCalibHits
bool m_isNegative
set to true if hit is in negative side
CaloG4::SimulationEnergies::ClassifyResult_t GetEnergiesOnStep()
TileGeoG4CalibSD(const TileGeoG4CalibSD &)
void InvokeUserRunAction()
void PlateCellIDCalculator()
ServiceHandle< IRDBAccessSvc > m_rdbSvc
G4VPhysicalVolume * m_stepPhysVol
m_calibrationHits_t m_inactiveCalibrationHits
double GetInvisibleEnergy()
void ResetSectSideFlags()
AtlasG4EventUserInfo * m_atlasG4EvtUserInfo
variable used for producing calibration hits signed with primary particle ID
void EnergiesSimpleCounter()
bool FindTileCalibSection()
void Initialize(G4HCofThisEvent *) override final
void InvokeUserEventAction()
TileGeoG4PlateCell * m_pCell
bool m_addToGirder
set to true if DM hit in absorber at outer radius is added to girder (currently inverse of _plateToCe...
bool m_doCalibHitParticleID
void ScintIDCalculator(TileHitData &hitData)
void InvokeUserSteppingAction()
TileHitVectorDMBuilder * GetHitCollection()
void DefaultHitIDCalculatorTB(int sample=0, int region=0, int eta=0, int phi=0)
ServiceHandle< StoreGateSvc > m_detStoreSvc
const G4TouchableHistory * m_stepTouchable
void EndOfEvent(G4HCofThisEvent *) override final
See TileGeoG4SD/TileHitVectorBuilder documentation.
This defines the results returned by the energy classification; these detailed results are mostly use...
Variables to identify Hit objects.