ATLAS Offline Software
LArHECWheelCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 
16 #include "LArHV/HECHVManager.h"
17 #include <stdexcept>
18 
19 // Forward declarations.
20 
21 class G4Step;
22 class HECGeometry;
23 class LArG4BirksLaw;
24 class HECDetectorManager;
25 
26 namespace LArG4 {
27  namespace HEC {
28  class IHECGeometry;
29  }
30 }
31 
32 
34 public:
35 
36  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 
54 private:
57 
58 
60  bool m_doHV;
61 
63 
66 };
67 
68 #endif
LArHECWheelCalculator::LArHECWheelCalculator
LArHECWheelCalculator(const LArHECWheelCalculator &)
LArHECWheelCalculator::LArHECWheelCalculator
LArHECWheelCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
LArHECWheelCalculator::initializeForSDCreation
virtual void initializeForSDCreation() override final
LArHECWheelCalculator::m_birksLaw
LArG4BirksLaw * m_birksLaw
Definition: LArHECWheelCalculator.h:59
LArHECWheelCalculator::m_DetectorManager
const HECDetectorManager * m_DetectorManager
Definition: LArHECWheelCalculator.h:56
LArHECWheelCalculator::m_doHV
bool m_doHV
Definition: LArHECWheelCalculator.h:60
LArHECWheelCalculator::finalize
virtual StatusCode finalize() override final
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArG4
Definition: LArWheelCalculatorEnums.h:8
HECHVManager.h
LArHECWheelCalculator::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition: LArHECWheelCalculator.h:48
HECHVManager::HECHVData
Definition: HECHVManager.h:39
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4Identifier.h
LArCalculatorSvcImp
Definition: LArCalculatorSvcImp.h:11
HECDetectorManager
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
Definition: HECDetectorManager.h:28
LArCalculatorSvcImp.h
LArHECWheelCalculator::m_hvdata
HECHVManager::HECHVData m_hvdata
Definition: LArHECWheelCalculator.h:62
LArHECWheelCalculator::initialize
virtual StatusCode initialize() override final
LArHECWheelCalculator
Definition: LArHECWheelCalculator.h:33
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArHECWheelCalculator::Process
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
LArG4BirksLaw
Definition: LArG4BirksLaw.h:8
LArCalculatorSvcImp::m_OOTcut
double m_OOTcut
Definition: LArCalculatorSvcImp.h:28
LArHECWheelCalculator::OOTcut
virtual G4float OOTcut() const override final
Definition: LArHECWheelCalculator.h:43
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArHECWheelCalculator::m_Geometry
ServiceHandle< LArG4::HEC::IHECGeometry > m_Geometry
Definition: LArHECWheelCalculator.h:55
LArHECWheelCalculator::operator=
LArHECWheelCalculator & operator=(const LArHECWheelCalculator &)
ServiceHandle< LArG4::HEC::IHECGeometry >