ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4EC
LArG4EC
PresamplerGeometry.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArG4::EC::PresamplerGeometry
6
7
// This class contains the geometry calculations needed to calculate
8
// an identifier for a given G4Step.
9
10
// 17-Aug-2004: Mikhail Leltchouk wrote the original code, Bill
11
// Seligman revised it for current use.
12
13
// Note: This class is intended for use in calculating identifiers in
14
// both active and inactive regions of the detector. For calibration
15
// studies, it must work properly whether the energy is deposited in
16
// the liquid argon or the absorber.
17
18
#ifndef LArG4_EC_PresamplerGeometry_H
19
#define LArG4_EC_PresamplerGeometry_H
20
#include "
LArG4EC/IECPresamplerGeometry.h
"
21
#include "
AthenaBaseComps/AthService.h
"
22
23
// Forward declarations.
24
class
LArG4Identifier
;
25
class
G4Step;
26
27
// Note the use of nested namespaces (mainly to prevent long names
28
// like LArG4HECGeometry). This class is contained in the namespace
29
// LArG4::EC.
30
31
namespace
LArG4
{
32
33
namespace
EC
{
34
35
class
PresamplerGeometry
:
public
extends<AthService, IECPresamplerGeometry> {
36
37
public
:
38
// Constructor
39
PresamplerGeometry
(
const
std::string& name, ISvcLocator * pSvcLocator);
40
StatusCode
initialize
() override final;
41
virtual ~
PresamplerGeometry
();
42
43
// 15-Jan-2002 WGS: A "lookup" function for detector measurements,
44
// sizes, and other values.
45
enum
kValue
{
46
rMinEndcapPresampler
,
47
rMaxEndcapPresampler
,
48
zEndcapPresamplerFrontFace
,
49
zEndcapPresamplerBackFace
,
50
EndcapPresamplerHalfThickness
,
51
EndcapPresamplerZpositionInMother
52
};
53
// This is the "meat" of this class: calculate the identifier
54
// given a G4Step.
55
LArG4Identifier
CalculateIdentifier
(
const
G4Step* )
const
override
final
;
56
57
private
:
58
59
double
GetValue
(
const
kValue
)
const
;
60
61
struct
Clockwork;
62
Clockwork *
m_c
;
//FIXME is it really worth creating this struct on the heap?
63
64
PresamplerGeometry
(
const
PresamplerGeometry
&);
65
PresamplerGeometry
&
operator=
(
const
PresamplerGeometry
&);
66
};
67
68
}
// namespace EC
69
70
}
// namespace LArG4
71
72
#endif
// LArG4_EC_PresamplerGeometry_H
AthService.h
IECPresamplerGeometry.h
LArG4Identifier
Definition
LArG4Identifier.h:121
LArG4::EC::PresamplerGeometry::PresamplerGeometry
PresamplerGeometry(const PresamplerGeometry &)
LArG4::EC::PresamplerGeometry::operator=
PresamplerGeometry & operator=(const PresamplerGeometry &)
LArG4::EC::PresamplerGeometry::CalculateIdentifier
LArG4Identifier CalculateIdentifier(const G4Step *) const override final
LArG4::EC::PresamplerGeometry::kValue
kValue
Definition
PresamplerGeometry.h:45
LArG4::EC::PresamplerGeometry::rMaxEndcapPresampler
@ rMaxEndcapPresampler
Definition
PresamplerGeometry.h:47
LArG4::EC::PresamplerGeometry::rMinEndcapPresampler
@ rMinEndcapPresampler
Definition
PresamplerGeometry.h:46
LArG4::EC::PresamplerGeometry::EndcapPresamplerZpositionInMother
@ EndcapPresamplerZpositionInMother
Definition
PresamplerGeometry.h:51
LArG4::EC::PresamplerGeometry::EndcapPresamplerHalfThickness
@ EndcapPresamplerHalfThickness
Definition
PresamplerGeometry.h:50
LArG4::EC::PresamplerGeometry::zEndcapPresamplerBackFace
@ zEndcapPresamplerBackFace
Definition
PresamplerGeometry.h:49
LArG4::EC::PresamplerGeometry::zEndcapPresamplerFrontFace
@ zEndcapPresamplerFrontFace
Definition
PresamplerGeometry.h:48
LArG4::EC::PresamplerGeometry::GetValue
double GetValue(const kValue) const
LArG4::EC::PresamplerGeometry::PresamplerGeometry
PresamplerGeometry(const std::string &name, ISvcLocator *pSvcLocator)
LArG4::EC::PresamplerGeometry::initialize
StatusCode initialize() override final
LArG4::EC::PresamplerGeometry::m_c
Clockwork * m_c
Definition
PresamplerGeometry.h:62
LArG4::EC
Definition
PresamplerGeometry.h:33
LArG4
Definition
LArWheelCalculatorEnums.h:8
Generated on
for ATLAS Offline Software by
1.17.0