ATLAS Offline Software
LocalGeometry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
20 #ifndef LArG4_HEC_LocalGeometry_H
21 #define LArG4_HEC_LocalGeometry_H
22 
25 
28 
29 class LArG4Identifier;
30 class G4Step;
31 
32 namespace LArG4 {
33 
34  namespace HEC {
35 
36  class LocalGeometry: public extends<AthService, ILocalGeometry> {
37 
38  public:
39 
40  LocalGeometry(const std::string& name, ISvcLocator * pSvcLocator);
41  StatusCode initialize() override final;
42  virtual ~LocalGeometry() = default;
43 
45  int depthadd = 0, double deadzone = 4.*CLHEP::mm, double locyadd = 0.*CLHEP::mm) const override final;
46 
47  private:
48  int binSearch(double ly, int depth, int reg) const;
49  int binSearchAll(double ly, int depth, bool regular=false) const;
50  double deadZone(double locx, double locy) const;
51  ServiceHandle<IGeoModelSvc> m_geoModel{this, "GeoModelSvc", "GeoModelSvc"};
52  ServiceHandle<IGeoDbTagSvc> m_geoDbTagSvc{this, "GeoDbTagSvc", "GeoDbTagSvc"};
53 
54  Gaudi::Property<bool> m_isX{this, "isX", false};
55  double m_depthSize[7] = {0.0};
56  double m_firstAbsorber[7] = {0.0};
57  double m_pads[7][15] = {}; // 15 is the number of bins in eta.
58  double m_betweenWheel = 0.0;
59  };
60 
61  } // namespace HEC
62 
63 } // namespace LArG4
64 
65 #endif // LArG4_HEC_LocalGeometry_H
LArG4::HEC::LocalGeometry::deadZone
double deadZone(double locx, double locy) const
LArG4Identifier
Definition: LArG4Identifier.h:121
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
egammaParameters::depth
@ depth
pointing depth of the shower as calculated in egammaqgcld
Definition: egammaParamDefs.h:276
python.SystemOfUnits.mm
float mm
Definition: SystemOfUnits.py:98
IGeoModelSvc
Definition: IGeoModelSvc.h:17
LArG4::HEC::eLocalGeometryType
eLocalGeometryType
Definition: ILocalGeometry.h:21
pool_uuid.regular
bool regular
Definition: pool_uuid.py:103
LArG4::HEC::LocalGeometry::LocalGeometry
LocalGeometry(const std::string &name, ISvcLocator *pSvcLocator)
LArG4::HEC::kLocActive
@ kLocActive
Definition: ILocalGeometry.h:21
LArG4::HEC::LocalGeometry::CalculateIdentifier
LArG4Identifier CalculateIdentifier(const G4Step *a_step, const eLocalGeometryType type=kLocActive, int depthadd=0, double deadzone=4.*CLHEP::mm, double locyadd=0.*CLHEP::mm) const override final
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArG4::HEC::LocalGeometry::binSearch
int binSearch(double ly, int depth, int reg) const
LArG4
Definition: LArWheelCalculatorEnums.h:8
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LArG4::HEC::LocalGeometry::m_isX
Gaudi::Property< bool > m_isX
Definition: LocalGeometry.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4::HEC::LocalGeometry::binSearchAll
int binSearchAll(double ly, int depth, bool regular=false) const
ILocalGeometry.h
CLHEP
STD'S.
Definition: CaloNoiseCompCondAlg.h:58
LArG4::HEC::LocalGeometry::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition: LocalGeometry.h:52
LArG4::HEC::LocalGeometry::m_firstAbsorber
double m_firstAbsorber[7]
Definition: LocalGeometry.h:56
LArG4::HEC::LocalGeometry::m_pads
double m_pads[7][15]
Definition: LocalGeometry.h:57
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
python.CaloAddPedShiftConfig.default
default
Definition: CaloAddPedShiftConfig.py:43
LArG4::HEC::LocalGeometry::m_geoModel
ServiceHandle< IGeoModelSvc > m_geoModel
Definition: LocalGeometry.h:51
LArG4::HEC::LocalGeometry
This class contains the geometry calculations needed to calculate an identifier for a given G4Step....
Definition: LocalGeometry.h:36
LArG4::HEC::LocalGeometry::m_depthSize
double m_depthSize[7]
Definition: LocalGeometry.h:55
AthService.h
private
#define private
Definition: xAODTruthCnvAlg.h:20
IGeoModelSvc.h
LArG4::HEC::LocalGeometry::initialize
StatusCode initialize() override final
LArG4::HEC::LocalGeometry::m_betweenWheel
double m_betweenWheel
Definition: LocalGeometry.h:58
IGeoDbTagSvc.h
ServiceHandle
Definition: ClusterMakerTool.h:37