ATLAS Offline Software
Loading...
Searching...
No Matches
HECGeometry.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
13
14#ifndef LArG4_HEC_HECGeometry_H
15#define LArG4_HEC_HECGeometry_H
16
19
21#include "globals.hh"
22
23// Forward declarations.
24class LArG4Identifier;
25class G4Step;
26class G4LogicalVolume;
27class G4VPhysicalVolume;
28
29namespace LArG4 {
30
31 namespace HEC {
32
33 class HECGeometry: public extends<AthService, IHECGeometry> {
34
35 public:
36
37 HECGeometry(const std::string& name, ISvcLocator * pSvcLocator);
38 StatusCode initialize() override final;
39 virtual ~HECGeometry() = default;
40
41 void initializeForSDCreation() override final;
42 LArG4Identifier CalculateIdentifier( const G4Step* a_step, const eHECGeometryType type = kWheelActive, int *subgap=NULL) const override final;
43
44 private:
45 bool checkDaughters(const G4LogicalVolume *possibleParent, const G4VPhysicalVolume *thePhysicalVolume, int& level) const;
46
48
49 bool m_depthHist{false};
50 bool m_withMother{false};
51
53 double m_depthSize[7]{};
54 double m_depthSum[7]{};
55 double m_minval[7][2][10]{};
56 double m_maxval[7][2][10]{};
57
58 // Some essential numbers we'll need over and over again:
60 double m_wheel1{};
61 double m_wheel2{};
62 double m_betweenWheels{40.5}; // FIXME HACK!! -- can't find this through LArReadoutGeometry, so hard-code it here
63 double m_hecLength{};
64 double m_startHec2{};
65 double m_rOuter{};
66 double m_rInner1{};
67 double m_rInner2{};
68
69 };
70
71 } // namespace HEC
72
73} // namespace LArG4
74
75#endif // LArG4_HEC_HECGeometry_H
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
LArG4Identifier CalculateIdentifier(const G4Step *a_step, const eHECGeometryType type=kWheelActive, int *subgap=NULL) const override final
double m_maxval[7][2][10]
Definition HECGeometry.h:56
double m_minval[7][2][10]
Definition HECGeometry.h:55
double m_firstAbsThickness[2]
Definition HECGeometry.h:59
HECGeometry(const std::string &name, ISvcLocator *pSvcLocator)
const HECDetectorManager * m_hecManager
Definition HECGeometry.h:47
void initializeForSDCreation() override final
StatusCode initialize() override final
bool checkDaughters(const G4LogicalVolume *possibleParent, const G4VPhysicalVolume *thePhysicalVolume, int &level) const
#define private