ATLAS Offline Software
LArHECLocalCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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 __LArG4HECLocalCalculator_H__
12 #define __LArG4HECLocalCalculator_H__
13 
14 //#include "globals.hh"
15 //#include "G4ThreeVector.hh"
18 #include <stdexcept>
19 #include "CLHEP/Units/SystemOfUnits.h"
20 
21 
22 // Forward declarations.
23 class G4Step;
24 class LArG4BirksLaw;
25 
26 namespace LArG4 {
27  namespace HEC {
28  class ILocalGeometry;
29  }
30 }
31 
33 
34 public:
35 
36  LArHECLocalCalculator(const std::string& name, ISvcLocator * pSvcLocator);
37  virtual StatusCode initialize() override final;
38  virtual StatusCode finalize() override final;
39  virtual ~LArHECLocalCalculator(){};
40 
41  virtual G4float OOTcut() const override final { return m_OOTcut; }
42 
43  virtual G4bool Process(const G4Step* a_step, std::vector<LArHitData>& hdata) const override final { return this->Process(a_step,0, 4.*CLHEP::mm, hdata);}
44  virtual G4bool Process(const G4Step* a_step, int depthadd, double deadzone, std::vector<LArHitData>& hdata) const final; //FIXME not part of interface...
45 
46  // Check if the current hitTime is in-time
47  virtual G4bool isInTime(G4double hitTime) const override final
48  {
49  return !(hitTime > m_OOTcut); //FIXME should we be checking the absolute value of hitTime here?
50  }
51 
52 
53 private:
54 
56 
58  G4bool m_isX;
59 
62 };
63 
64 #endif
LArHECLocalCalculator::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition: LArHECLocalCalculator.h:47
LArHECLocalCalculator
Definition: LArHECLocalCalculator.h:32
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
LArHECLocalCalculator::initialize
virtual StatusCode initialize() override final
LArHECLocalCalculator::finalize
virtual StatusCode finalize() override final
LArHECLocalCalculator::OOTcut
virtual G4float OOTcut() const override final
Definition: LArHECLocalCalculator.h:41
LArHECLocalCalculator::m_Geometry
ServiceHandle< LArG4::HEC::ILocalGeometry > m_Geometry
Definition: LArHECLocalCalculator.h:55
LArHECLocalCalculator::Process
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
Definition: LArHECLocalCalculator.h:43
LArHECLocalCalculator::m_birksLaw
LArG4BirksLaw * m_birksLaw
Definition: LArHECLocalCalculator.h:57
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArG4
Definition: LArWheelCalculatorEnums.h:8
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArHECLocalCalculator::operator=
LArHECLocalCalculator operator=(const LArHECLocalCalculator &)
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::m_isX
G4bool m_isX
Definition: LArHECLocalCalculator.h:58
LArG4Identifier.h
LArCalculatorSvcImp
Definition: LArCalculatorSvcImp.h:11
LArCalculatorSvcImp.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
LArG4BirksLaw
Definition: LArG4BirksLaw.h:8
LArCalculatorSvcImp::m_OOTcut
double m_OOTcut
Definition: LArCalculatorSvcImp.h:28
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArHECLocalCalculator::LArHECLocalCalculator
LArHECLocalCalculator(const LArHECLocalCalculator &)
ServiceHandle< LArG4::HEC::ILocalGeometry >