ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4HEC
src
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
17
#include "
LArG4HEC/IHECGeometry.h
"
18
#include "
AthenaBaseComps/AthService.h
"
19
20
#include "
LArReadoutGeometry/HECDetectorManager.h
"
21
#include "globals.hh"
22
23
// Forward declarations.
24
class
LArG4Identifier
;
25
class
G4Step;
26
class
G4LogicalVolume;
27
class
G4VPhysicalVolume;
28
29
namespace
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
47
const
HECDetectorManager
*
m_hecManager
{
nullptr
};
48
49
bool
m_depthHist
{
false
};
50
bool
m_withMother
{
false
};
51
52
int
m_g4historyDepth
{0};
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:
59
double
m_firstAbsThickness
[2]{};
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
AthService.h
HECDetectorManager.h
IHECGeometry.h
HECDetectorManager
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
Definition
HECDetectorManager.h:28
LArG4Identifier
Definition
LArG4Identifier.h:121
LArG4::HEC::HECGeometry::CalculateIdentifier
LArG4Identifier CalculateIdentifier(const G4Step *a_step, const eHECGeometryType type=kWheelActive, int *subgap=NULL) const override final
LArG4::HEC::HECGeometry::m_rInner1
double m_rInner1
Definition
HECGeometry.h:66
LArG4::HEC::HECGeometry::m_maxval
double m_maxval[7][2][10]
Definition
HECGeometry.h:56
LArG4::HEC::HECGeometry::m_minval
double m_minval[7][2][10]
Definition
HECGeometry.h:55
LArG4::HEC::HECGeometry::m_depthSum
double m_depthSum[7]
Definition
HECGeometry.h:54
LArG4::HEC::HECGeometry::m_g4historyDepth
int m_g4historyDepth
Definition
HECGeometry.h:52
LArG4::HEC::HECGeometry::m_wheel2
double m_wheel2
Definition
HECGeometry.h:61
LArG4::HEC::HECGeometry::m_betweenWheels
double m_betweenWheels
Definition
HECGeometry.h:62
LArG4::HEC::HECGeometry::m_depthSize
double m_depthSize[7]
Definition
HECGeometry.h:53
LArG4::HEC::HECGeometry::m_withMother
bool m_withMother
Definition
HECGeometry.h:50
LArG4::HEC::HECGeometry::m_firstAbsThickness
double m_firstAbsThickness[2]
Definition
HECGeometry.h:59
LArG4::HEC::HECGeometry::m_wheel1
double m_wheel1
Definition
HECGeometry.h:60
LArG4::HEC::HECGeometry::m_rInner2
double m_rInner2
Definition
HECGeometry.h:67
LArG4::HEC::HECGeometry::m_depthHist
bool m_depthHist
Definition
HECGeometry.h:49
LArG4::HEC::HECGeometry::HECGeometry
HECGeometry(const std::string &name, ISvcLocator *pSvcLocator)
LArG4::HEC::HECGeometry::m_hecLength
double m_hecLength
Definition
HECGeometry.h:63
LArG4::HEC::HECGeometry::m_hecManager
const HECDetectorManager * m_hecManager
Definition
HECGeometry.h:47
LArG4::HEC::HECGeometry::initializeForSDCreation
void initializeForSDCreation() override final
LArG4::HEC::HECGeometry::initialize
StatusCode initialize() override final
LArG4::HEC::HECGeometry::checkDaughters
bool checkDaughters(const G4LogicalVolume *possibleParent, const G4VPhysicalVolume *thePhysicalVolume, int &level) const
LArG4::HEC::HECGeometry::m_rOuter
double m_rOuter
Definition
HECGeometry.h:65
LArG4::HEC::HECGeometry::m_startHec2
double m_startHec2
Definition
HECGeometry.h:64
const
LArG4::HEC
Definition
IHECGeometry.h:21
LArG4::HEC::eHECGeometryType
eHECGeometryType
Definition
IHECGeometry.h:23
LArG4::HEC::kWheelActive
@ kWheelActive
Definition
IHECGeometry.h:23
LArG4
Definition
LArWheelCalculatorEnums.h:8
type
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0