ATLAS Offline Software
LArFCALCalculatorBase.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 // LArFCALCalculator
6 // 20-Feb-2003 Bill Seligman (from Peter Loch)
7 
8 // A base class for the calculators required for the individual
9 // modules.
10 
11 #ifndef LArFCALCalculatorBase_H
12 #define LArFCALCalculatorBase_H
13 
14 //-----------------------------------------------------------------------------
15 //
16 // Forward Calorimeter Construction in GEANT4
17 //
18 //-----------------------------------------------------------------------------
22 #include "LArReadoutGeometry/FCAL_ChannelMap.h"
23 #include "LArHV/FCALHVManager.h"
24 #include "globals.hh"
25 #include <stdexcept>
26 
27 class LArG4BirksLaw;
28 class FCALModule;
29 
31 {
32  public:
33  // constructor
34  LArFCALCalculatorBase(const std::string& name, ISvcLocator *pSvcLocator);
37  virtual StatusCode initialize() override;
38 
40 
41  virtual G4float OOTcut() const override final { return m_OOTcut; }
42 
43  virtual G4bool Process(const G4Step*, std::vector<LArHitData>&) const override final;
44 
45  // Check if the current hitTime is in-time
46  virtual G4bool isInTime(G4double hitTime) const override final
47  {
48  return !(hitTime > m_OOTcut); //FIXME should we be checking the absolute value of hitTime here?
49  }
50 
52 
53 
54  protected:
55  Gaudi::Property<bool> m_doHV{this, "FCALHVEnable", false};
56  Gaudi::Property<G4int> m_FCalSampling{this, "FCALSampling", 0};
57 
59  const FCALModule *m_posModule{nullptr}; // for hv access here...
60  const FCALModule *m_negModule{nullptr}; // for hv access here...
61  // sampling
62 
63  std::unique_ptr<LArG4BirksLaw> m_birksLaw{};
64 
66 };
67 
68 #endif // LArFCALCalculatorBase_H
LArG4BirksLaw.h
FCAL_ChannelMap
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
Definition: LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCAL_ChannelMap.h:34
LArFCALCalculatorBase::LArFCALCalculatorBase
LArFCALCalculatorBase(const std::string &name, ISvcLocator *pSvcLocator)
LArFCALCalculatorBase::m_posModule
const FCALModule * m_posModule
Definition: LArFCALCalculatorBase.h:59
LArFCALCalculatorBase::LArFCALCalculatorBase
LArFCALCalculatorBase(const LArFCALCalculatorBase &)=delete
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArFCALCalculatorBase::initialize
virtual StatusCode initialize() override
LArFCALCalculatorBase::m_ChannelMap
FCAL_ChannelMap * m_ChannelMap
Definition: LArFCALCalculatorBase.h:58
LArFCALCalculatorBase::m_FCalSampling
Gaudi::Property< G4int > m_FCalSampling
Definition: LArFCALCalculatorBase.h:56
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArFCALCalculatorBase::operator=
LArFCALCalculatorBase operator=(const LArFCALCalculatorBase &)=delete
LArG4Identifier.h
LArCalculatorSvcImp
Definition: LArCalculatorSvcImp.h:13
columnar::final
CM final
Definition: ColumnAccessor.h:106
LArCalculatorSvcImp.h
LArFCALCalculatorBase::m_hvdata
FCALHVManager::FCALHVData m_hvdata
Definition: LArFCALCalculatorBase.h:65
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArFCALCalculatorBase::OOTcut
virtual G4float OOTcut() const override final
Definition: LArFCALCalculatorBase.h:41
FCALModule
Definition: FCALModule.h:33
LArFCALCalculatorBase::m_negModule
const FCALModule * m_negModule
Definition: LArFCALCalculatorBase.h:60
LArG4BirksLaw
Definition: LArG4BirksLaw.h:8
LArFCALCalculatorBase
Definition: LArFCALCalculatorBase.h:31
FCALHVManager.h
LArFCALCalculatorBase::m_birksLaw
std::unique_ptr< LArG4BirksLaw > m_birksLaw
Definition: LArFCALCalculatorBase.h:63
LArFCALCalculatorBase::m_doHV
Gaudi::Property< bool > m_doHV
Definition: LArFCALCalculatorBase.h:55
LArFCALCalculatorBase::isInTime
virtual G4bool isInTime(G4double hitTime) const override final
Definition: LArFCALCalculatorBase.h:46
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArFCALCalculatorBase::Process
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const override final
FCALHVManager::FCALHVData
Definition: FCALHVManager.h:38
LArCalculatorSvcImp::m_OOTcut
Gaudi::Property< double > m_OOTcut
Definition: LArCalculatorSvcImp.h:30