ATLAS Offline Software
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.
18 class G4Step;
19 class LArG4BirksLaw;
20 
21 namespace LArG4 {
22  namespace HEC {
23  class ILocalGeometry;
24  }
25 }
26 
28 
29 public:
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 
48 private:
49  ServiceHandle<LArG4::HEC::ILocalGeometry> m_Geometry {this, "GeometryCalculator", "LocalHECGeometry"};
50  Gaudi::Property<G4bool> m_isX {this, "IsX", false};
52 };
53 
54 #endif
LArHECLocalCalculator::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition: LArHECLocalCalculator.h:43
LArHECLocalCalculator
Definition: LArHECLocalCalculator.h:27
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
LArHECLocalCalculator::initialize
virtual StatusCode initialize() override final
python.SystemOfUnits.mm
float mm
Definition: SystemOfUnits.py:98
LArHECLocalCalculator::m_isX
Gaudi::Property< G4bool > m_isX
Definition: LArHECLocalCalculator.h:50
LArHECLocalCalculator::finalize
virtual StatusCode finalize() override final
LArHECLocalCalculator::~LArHECLocalCalculator
virtual ~LArHECLocalCalculator()=default
LArHECLocalCalculator::OOTcut
virtual G4float OOTcut() const override final
Definition: LArHECLocalCalculator.h:37
LArHECLocalCalculator::m_Geometry
ServiceHandle< LArG4::HEC::ILocalGeometry > m_Geometry
Definition: LArHECLocalCalculator.h:49
LArHECLocalCalculator::Process
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
Definition: LArHECLocalCalculator.h:39
LArHECLocalCalculator::m_birksLaw
LArG4BirksLaw * m_birksLaw
Definition: LArHECLocalCalculator.h:51
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArG4
Definition: LArWheelCalculatorEnums.h:8
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArHECLocalCalculator::Process
virtual G4bool Process(const G4Step *a_step, int depthadd, double deadzone, std::vector< LArHitData > &hdata) const final
LArHECLocalCalculator::LArHECLocalCalculator
LArHECLocalCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArHECLocalCalculator::LArHECLocalCalculator
LArHECLocalCalculator(const LArHECLocalCalculator &)=delete
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
LArG4BirksLaw
Definition: LArG4BirksLaw.h:8
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArCalculatorSvcImp::m_OOTcut
Gaudi::Property< double > m_OOTcut
Definition: LArCalculatorSvcImp.h:30
LArHECLocalCalculator::operator=
LArHECLocalCalculator operator=(const LArHECLocalCalculator &)=delete
ServiceHandle< LArG4::HEC::ILocalGeometry >