ATLAS Offline Software
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.
23 class G4Step;
24 class LArG4BirksLaw;
25 
26 namespace LArG4 {
27  class IECPresamplerGeometry;
28 }
29 
31 public:
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 
51 private:
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
LArG4BirksLaw.h
LArEndcapPresamplerCalculator::initialize
virtual StatusCode initialize() override final
LArEndcapPresamplerCalculator::LArEndcapPresamplerCalculator
LArEndcapPresamplerCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArEndcapPresamplerCalculator::OOTcut
virtual G4float OOTcut() const override final
Definition: LArEndcapPresamplerCalculator.h:40
LArVG4DetectorParameters.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArEndcapPresamplerCalculator::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition: LArEndcapPresamplerCalculator.h:43
LArEndcapPresamplerCalculator::m_birksLaw
std::unique_ptr< LArG4BirksLaw > m_birksLaw
Definition: LArEndcapPresamplerCalculator.h:55
LArG4
Definition: LArWheelCalculatorEnums.h:8
LArEndcapPresamplerCalculator::Process
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const override final
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4Identifier.h
LArEndcapPresamplerCalculator
Definition: LArEndcapPresamplerCalculator.h:30
LArCalculatorSvcImp
Definition: LArCalculatorSvcImp.h:13
columnar::final
CM final
Definition: ColumnAccessor.h:106
LArCalculatorSvcImp.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArEndcapPresamplerCalculator::LArEndcapPresamplerCalculator
LArEndcapPresamplerCalculator(const LArEndcapPresamplerCalculator &)=delete
LArG4BirksLaw
Definition: LArG4BirksLaw.h:8
LArEndcapPresamplerCalculator::operator=
LArEndcapPresamplerCalculator & operator=(const LArEndcapPresamplerCalculator &)=delete
LArEndcapPresamplerCalculator::m_geometry
ServiceHandle< LArG4::IECPresamplerGeometry > m_geometry
Definition: LArEndcapPresamplerCalculator.h:53
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArCalculatorSvcImp::m_OOTcut
Gaudi::Property< double > m_OOTcut
Definition: LArCalculatorSvcImp.h:30
ServiceHandle< LArG4::IECPresamplerGeometry >