ATLAS Offline Software
Loading...
Searching...
No Matches
LArHECWheelCalculator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5// LArHECWheelCalculator.hh
6
7// Revision history:
8
9// Jan-2008: (M.Fincke) To be used for new Module-Geometry
10
11#ifndef LARG4HEC_LARHECWHEELCALCULATOR_H
12#define LARG4HEC_LARHECWHEELCALCULATOR_H
13
15#include "LArHV/HECHVManager.h"
16
17// Forward declarations.
18
19class G4Step;
20class HECGeometry;
21class LArG4BirksLaw;
23
24namespace LArG4 {
25 namespace HEC {
26 class IHECGeometry;
27 }
28}
29
30
32public:
33
34 LArHECWheelCalculator(const std::string& name, ISvcLocator * pSvcLocator);
37 virtual StatusCode initialize() override final;
38 virtual StatusCode finalize() override final;
41
42 virtual void initializeForSDCreation() override final;
43 virtual G4float OOTcut() const override final { return m_OOTcut; }
44
45 virtual G4bool Process(const G4Step* a_step, std::vector<LArHitData>& hdata) const override final;
46
47 // Check if the current hitTime is in-time
48 virtual G4bool isInTime(G4double hitTime) const override final
49 {
50 return !(hitTime > m_OOTcut); //FIXME should we be checking the absolute value of hitTime here?
51 }
52
53
54private:
55 ServiceHandle<LArG4::HEC::IHECGeometry> m_Geometry{this, "GeometryCalculator", "HECGeometry"};
56 Gaudi::Property<bool> m_doHV{this, "HECHVEnable", false};
57
60
62};
63
64#endif
float hitTime(const AFP_SIDSimHit &hit)
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_OOTcut
Gaudi::Property< bool > m_doHV
virtual StatusCode initialize() override final
virtual StatusCode finalize() override final
LArHECWheelCalculator & operator=(const LArHECWheelCalculator &)=delete
LArHECWheelCalculator(const LArHECWheelCalculator &)=delete
LArHECWheelCalculator(const std::string &name, ISvcLocator *pSvcLocator)
virtual G4bool isInTime(G4double hitTime) const override final
virtual G4float OOTcut() const override final
ServiceHandle< LArG4::HEC::IHECGeometry > m_Geometry
HECHVManager::HECHVData m_hvdata
virtual void initializeForSDCreation() override final
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
const HECDetectorManager * m_DetectorManager