ATLAS Offline Software
Loading...
Searching...
No Matches
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
19
20#ifndef LArG4_HEC_LocalGeometry_H
21#define LArG4_HEC_LocalGeometry_H
22
25
28
29class LArG4Identifier;
30class G4Step;
31
32namespace 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
int binSearchAll(double ly, int depth, bool regular=false) const
StatusCode initialize() override final
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
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Gaudi::Property< bool > m_isX
ServiceHandle< IGeoModelSvc > m_geoModel
double deadZone(double locx, double locy) const
LocalGeometry(const std::string &name, ISvcLocator *pSvcLocator)
int binSearch(double ly, int depth, int reg) const
std::string depth
tag string for intendation
Definition fastadd.cxx:46
#define private