ATLAS Offline Software
LArCalorimeter
LArG4
LArG4HEC
LArG4HEC
LocalGeometry.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArG4::HEC::LocalGeometry
6
7
// This class contains the geometry calculations needed to calculate
8
// an identifier for a given G4Step.
9
10
// 05-Apr-2006: Pavol Strizenec, adaptation from TB LocalCalculator to Atlas
11
12
// Note: This class is intended for use in calculating identifiers in
13
// both active and inactive regions of the detector. For calibration
14
// studies, it must work properly whether the energy is deposited in
15
// the liquid argon or the absorber.
16
17
#ifndef LArG4_HEC_LocalGeometry_H
18
#define LArG4_HEC_LocalGeometry_H
19
20
#include "
LArG4HEC/ILocalGeometry.h
"
21
#include "
AthenaBaseComps/AthService.h
"
22
23
#include "
GeoModelInterfaces/IGeoModelSvc.h
"
24
#include "
GeoModelInterfaces/IGeoDbTagSvc.h
"
25
26
class
LArG4Identifier
;
27
class
G4Step;
28
29
namespace
LArG4
{
30
31
namespace
HEC
{
32
33
class
LocalGeometry
:
public
extends<AthService, ILocalGeometry> {
34
35
public
:
36
37
LocalGeometry
(
const
std::string&
name
, ISvcLocator * pSvcLocator);
38
StatusCode
initialize
() override final;
39
virtual ~
LocalGeometry
(){;}
40
41
LArG4Identifier
CalculateIdentifier
(
const
G4Step* a_step,
const
eLocalGeometryType
type
=
kLocActive
,
42
int
depthadd = 0,
double
deadzone = 4.*
CLHEP::mm
,
double
locyadd = 0.*
CLHEP::mm
)
const
override
final
;
43
44
//bool isX() const { return m_isX; } //UNUSED
45
//void SetX(G4bool x) { m_isX = x; }
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
;
52
ServiceHandle<IGeoDbTagSvc>
m_geoDbTagSvc
;
53
54
bool
m_isX
;
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
LArG4::HEC::eLocalGeometryType
eLocalGeometryType
Definition:
ILocalGeometry.h:23
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:23
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
LArG4::HEC::LocalGeometry::binSearch
int binSearch(double ly, int depth, int reg) const
LArG4
Definition:
LArWheelCalculatorEnums.h:8
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
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:228
python.SystemOfUnits.mm
int mm
Definition:
SystemOfUnits.py:83
LArG4::HEC::LocalGeometry::m_geoModel
ServiceHandle< IGeoModelSvc > m_geoModel
Definition:
LocalGeometry.h:51
LArG4::HEC::LocalGeometry
Definition:
LocalGeometry.h:33
LArG4::HEC::LocalGeometry::m_depthSize
double m_depthSize[7]
Definition:
LocalGeometry.h:55
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
LArG4::HEC::LocalGeometry::m_isX
bool m_isX
Definition:
LocalGeometry.h:54
AthService.h
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< IGeoModelSvc >
Generated on Sun Dec 22 2024 21:13:53 for ATLAS Offline Software by
1.8.18