ATLAS Offline Software
Loading...
Searching...
No Matches
LArHECLocalCalculator.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// LArG4HECLocalCalculator.hh
6
7// Revision history:
8
9// 17-Feb-2006 : Pavol Strizenec
10
11#ifndef LARG4HEC_LARG4HECLOCALCALCULATOR_H
12#define LARG4HEC_LARG4HECLOCALCALCULATOR_H
13
15#include "CLHEP/Units/SystemOfUnits.h"
16
17// Forward declarations.
18class G4Step;
19class LArG4BirksLaw;
20
21namespace LArG4 {
22 namespace HEC {
23 class ILocalGeometry;
24 }
25}
26
28
29public:
30 LArHECLocalCalculator(const std::string& name, ISvcLocator * pSvcLocator);
33 virtual ~LArHECLocalCalculator() = default;
34 virtual StatusCode initialize() override final;
35 virtual StatusCode finalize() override final;
36
37 virtual G4float OOTcut() const override final { return m_OOTcut; }
38
39 virtual G4bool Process(const G4Step* a_step, std::vector<LArHitData>& hdata) const override final { return this->Process(a_step,0, 4.*CLHEP::mm, hdata);}
40 virtual G4bool Process(const G4Step* a_step, int depthadd, double deadzone, std::vector<LArHitData>& hdata) const final; //FIXME not part of interface...
41
42 // Check if the current hitTime is in-time
43 virtual G4bool isInTime(G4double hitTime) const override final
44 {
45 return !(hitTime > m_OOTcut); //FIXME should we be checking the absolute value of hitTime here?
46 }
47
48private:
49 ServiceHandle<LArG4::HEC::ILocalGeometry> m_Geometry {this, "GeometryCalculator", "LocalHECGeometry"};
50 Gaudi::Property<G4bool> m_isX {this, "IsX", false};
52};
53
54#endif
float hitTime(const AFP_SIDSimHit &hit)
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_OOTcut
virtual StatusCode initialize() override final
LArHECLocalCalculator operator=(const LArHECLocalCalculator &)=delete
virtual ~LArHECLocalCalculator()=default
ServiceHandle< LArG4::HEC::ILocalGeometry > m_Geometry
Gaudi::Property< G4bool > m_isX
virtual G4bool Process(const G4Step *a_step, int depthadd, double deadzone, std::vector< LArHitData > &hdata) const final
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
LArHECLocalCalculator(const LArHECLocalCalculator &)=delete
virtual G4bool isInTime(G4double hitTime) const override final
LArHECLocalCalculator(const std::string &name, ISvcLocator *pSvcLocator)
virtual G4float OOTcut() const override final
virtual StatusCode finalize() override final