ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
SiLorentzAngleTool
src
SCTSiLorentzAngleTestAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
9
10
// Local include
11
#include "
SCTSiLorentzAngleTestAlg.h
"
12
13
// Athena include
14
#include "
InDetIdentifier/SCT_ID.h
"
15
16
// Gaudi include
17
18
// STL include
19
20
SCTSiLorentzAngleTestAlg::SCTSiLorentzAngleTestAlg
(
const
std::string& name, ISvcLocator* pSvcLocator):
21
::
AthReentrantAlgorithm
(name, pSvcLocator),
22
m_id
{nullptr}
23
{
24
}
25
26
StatusCode
SCTSiLorentzAngleTestAlg::initialize
()
27
{
28
ATH_CHECK
(
m_tool
.retrieve());
29
ATH_CHECK
(
detStore
()->retrieve(
m_id
,
"SCT_ID"
));
30
31
return
StatusCode::SUCCESS;
32
}
33
34
StatusCode
SCTSiLorentzAngleTestAlg::execute
(
const
EventContext& ctx)
const
35
{
36
unsigned
int
maxHash{
static_cast<
unsigned
int
>
(
m_id
->wafer_hash_max())};
37
for
(
unsigned
int
hash{0}; hash<maxHash; hash++) {
38
const
IdentifierHash
elementHash{hash};
39
const
double
lorentzShift{
m_tool
->getLorentzShift(elementHash, ctx)};
40
const
double
lorentzShiftEta{
m_tool
->getLorentzShiftEta(elementHash, ctx)};
41
const
double
tanLorentzAngle{
m_tool
->getTanLorentzAngle(elementHash, ctx)};
42
const
double
tanLorentzAngleEta{
m_tool
->getTanLorentzAngleEta(elementHash, ctx)};
43
const
double
biasVoltage{
m_tool
->getBiasVoltage(elementHash, ctx)};
44
const
double
depletionVoltage{
m_tool
->getDepletionVoltage(elementHash, ctx)};
45
const
double
temperature{
m_tool
->getTemperature(elementHash, ctx)};
46
ATH_MSG_INFO
(
"hash "
<< hash <<
47
" lorentzShift "
<< lorentzShift <<
48
" lorentzShiftEta "
<< lorentzShiftEta <<
49
" tanLorentzAngle "
<< tanLorentzAngle <<
50
" tanLorentzAngleEta "
<< tanLorentzAngleEta <<
51
" biasVoltage "
<< biasVoltage <<
52
" depletionVoltage "
<< depletionVoltage <<
53
" temperature "
<< temperature);
54
}
55
56
return
StatusCode::SUCCESS;
57
}
58
59
StatusCode
SCTSiLorentzAngleTestAlg::finalize
()
60
{
61
return
StatusCode::SUCCESS;
62
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:30
SCTSiLorentzAngleTestAlg.h
SCT_ID.h
This is an Identifier helper class for the SCT subdetector.
AthCommonAlgorithm< Gaudi::Algorithm >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
Definition
AthCommonDataStore.h:95
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
SCTSiLorentzAngleTestAlg::initialize
virtual StatusCode initialize() override
Definition
SCTSiLorentzAngleTestAlg.cxx:26
SCTSiLorentzAngleTestAlg::m_tool
ToolHandle< ISiLorentzAngleTool > m_tool
Definition
SCTSiLorentzAngleTestAlg.h:39
SCTSiLorentzAngleTestAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
SCTSiLorentzAngleTestAlg.cxx:34
SCTSiLorentzAngleTestAlg::m_id
const SCT_ID * m_id
Definition
SCTSiLorentzAngleTestAlg.h:40
SCTSiLorentzAngleTestAlg::finalize
virtual StatusCode finalize() override
Definition
SCTSiLorentzAngleTestAlg.cxx:59
SCTSiLorentzAngleTestAlg::SCTSiLorentzAngleTestAlg
SCTSiLorentzAngleTestAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
SCTSiLorentzAngleTestAlg.cxx:20
Generated on
for ATLAS Offline Software by
1.17.0