ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonConditions
MuonCondGeneral
MuonCondTest
src
ALineInjectTestAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
ALineInjectTestAlg.h
"
5
6
#include <
AthenaBaseComps/AthCondAlgorithm.h
>
7
#include <
AthenaKernel/IOVInfiniteRange.h
>
8
#include <GaudiKernel/SystemOfUnits.h>
9
ALineInjectTestAlg::ALineInjectTestAlg
(
const
std::string& name, ISvcLocator* pSvcLocator):
10
AthCondAlgorithm
{name, pSvcLocator} {}
11
12
StatusCode
ALineInjectTestAlg::initialize
() {
13
ATH_CHECK
(
m_writeKey
.initialize());
14
ATH_CHECK
(
m_idHelperSvc
.retrieve());
15
return
StatusCode::SUCCESS;
16
}
17
StatusCode
ALineInjectTestAlg::execute
(
const
EventContext& ctx)
const
{
18
SG::WriteCondHandle<ALineContainer>
writeHandle{
m_writeKey
, ctx};
19
if
(writeHandle.
isValid
()){
20
ATH_MSG_DEBUG
(
"CondHandle "
<< writeHandle.
fullKey
() <<
" is already valid."
21
<<
". In theory this should not be called, but may happen"
22
<<
" if multiple concurrent events are being processed out of order."
);
23
return
StatusCode::SUCCESS;
24
}
25
writeHandle.
addDependency
(
IOVInfiniteRange::infiniteTime
());
26
std::unique_ptr<ALineContainer> writeCdo = std::make_unique<ALineContainer>();
27
28
unsigned
int
counter{0};
30
{
31
const
MdtIdHelper
& idHelper{
m_idHelperSvc
->mdtIdHelper()};
32
for
(
auto
itr = idHelper.
module_begin
();
33
itr != idHelper.
module_end
(); ++itr){
34
ALinePar
aline{};
35
aline.
setIdentifier
(*itr);
36
aline.
setParameters
((counter+0)*Gaudi::Units::mm,
37
(counter+1)*Gaudi::Units::mm,
38
(counter+2)*Gaudi::Units::mm,
39
(counter+3)*Gaudi::Units::deg,
40
(counter+4)*Gaudi::Units::deg,
41
(counter+5)*Gaudi::Units::deg);
42
ATH_MSG_INFO
(
"Add "
<<aline<<
" to move "
<<
m_idHelperSvc
->toStringChamber(*itr));
43
writeCdo->insert(std::move(aline));
44
counter+=6;
45
46
}
47
}
48
49
ATH_CHECK
(writeHandle.
record
(std::move(writeCdo)));
50
return
StatusCode::SUCCESS;
51
}
52
ALineInjectTestAlg.h
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
AthCondAlgorithm.h
Base class for conditions algorithms.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_INFO
#define ATH_MSG_INFO(x,...)
Definition
AthMsgStreamMacros.h:45
IOVInfiniteRange.h
ALineInjectTestAlg::initialize
virtual StatusCode initialize() override
Definition
ALineInjectTestAlg.cxx:12
ALineInjectTestAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
ALineInjectTestAlg.h:28
ALineInjectTestAlg::m_writeKey
SG::WriteCondHandleKey< ALineContainer > m_writeKey
Definition
ALineInjectTestAlg.h:25
ALineInjectTestAlg::ALineInjectTestAlg
ALineInjectTestAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
ALineInjectTestAlg.cxx:9
ALineInjectTestAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
ALineInjectTestAlg.cxx:17
ALinePar
Definition
ALinePar.h:15
ALinePar::setParameters
void setParameters(float s, float z, float t, float rotS, float rotZ, float rotT)
Definition
ALinePar.cxx:27
AthCondAlgorithm
Base class for conditions algorithms.
Definition
AthCondAlgorithm.h:22
IOVInfiniteRange::infiniteTime
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.
Definition
IOVInfiniteRange.h:47
MdtIdHelper
Definition
MdtIdHelper.h:61
MuonAlignmentPar::setIdentifier
void setIdentifier(const Identifier &id)
Setters and getters for the Athena Identifier.
Definition
MuonAlignmentPar.cxx:10
MuonIdHelper::module_end
const_id_iterator module_end() const
Definition
MuonIdHelper.cxx:763
MuonIdHelper::module_begin
const_id_iterator module_begin() const
Iterators over full set of ids.
Definition
MuonIdHelper.cxx:761
SG::WriteCondHandle
Definition
WriteCondHandle.h:26
SG::WriteCondHandle::addDependency
void addDependency(const EventIDRange &range)
Definition
WriteCondHandle.h:279
SG::WriteCondHandle::record
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED
Definition
WriteCondHandle.h:161
SG::WriteCondHandle::isValid
bool isValid() const
Definition
WriteCondHandle.h:252
SG::WriteCondHandle::fullKey
const DataObjID & fullKey() const
Definition
WriteCondHandle.h:45
Generated on
for ATLAS Offline Software by
1.17.0