ATLAS Offline Software
Loading...
Searching...
No Matches
LArEndcapPresamplerCalculator.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// LArEndcapPresamplerCalculator.hh
6// Prepared 27-Dec-2002 Bill Seligman
7
8// This is a separate "calculator" class for the endcap presampler.
9// For more information about what a "calculator" class does, see the
10// documentation: LArG4/doc/LArG4.ps.
11
12#ifndef LARG4EC_LARENDCAPPRESAMPLERCALCULATOR_H
13#define LARG4EC_LARENDCAPPRESAMPLERCALCULATOR_H
14
15#include "globals.hh"
16#include "G4ThreeVector.hh"
21#include <stdexcept>
22// Forward declarations.
23class G4Step;
24class LArG4BirksLaw;
25
26namespace LArG4 {
28}
29
31public:
32
33 LArEndcapPresamplerCalculator(const std::string& name, ISvcLocator *pSvcLocator);
36 virtual StatusCode initialize() override final;
37
39
40 virtual G4float OOTcut() const override final { return m_OOTcut; }
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
48 virtual G4bool Process(const G4Step*, std::vector<LArHitData>&) const override final;
49
50
51private:
52 // Pointer to geometry routine.
53 ServiceHandle<LArG4::IECPresamplerGeometry> m_geometry{this, "GeometryCalculator", "EMECPresamplerGeometry"};
54
55 std::unique_ptr<LArG4BirksLaw> m_birksLaw{};
56};
57
58#endif
float hitTime(const AFP_SIDSimHit &hit)
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_OOTcut
std::unique_ptr< LArG4BirksLaw > m_birksLaw
virtual G4float OOTcut() const override final
virtual G4bool isInTime(G4double hitTime) const override final
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const override final
LArEndcapPresamplerCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArEndcapPresamplerCalculator & operator=(const LArEndcapPresamplerCalculator &)=delete
virtual StatusCode initialize() override final
ServiceHandle< LArG4::IECPresamplerGeometry > m_geometry
LArEndcapPresamplerCalculator(const LArEndcapPresamplerCalculator &)=delete