ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetEventCnv
InDetPrepRawDataToxAOD
src
SCT_RawDataToxAOD.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// SCT_RawDataToxAOD.cxx
7
// Implementation file for class SCT_RawDataToxAOD
9
10
#include "
SCT_RawDataToxAOD.h
"
11
12
#include "
InDetIdentifier/SCT_ID.h
"
13
#include "
StoreGate/ReadHandle.h
"
14
#include "
StoreGate/WriteHandle.h
"
15
// xAOD container type
16
#include "
xAODTracking/SCTRawHitValidationAuxContainer.h
"
17
18
19
StatusCode
SCT_RawDataToxAOD::initialize
() {
20
ATH_CHECK
(
detStore
()->retrieve(
m_SCTHelper
,
"SCT_ID"
));
21
ATH_CHECK
(
m_rdoContainerName
.initialize());
22
ATH_CHECK
(
m_xAodRawHitContainerName
.initialize());
23
return
StatusCode::SUCCESS;
24
}
25
26
StatusCode
SCT_RawDataToxAOD::execute
(
const
EventContext& ctx)
const
{
27
SG::ReadHandle<SCT_RDO_Container>
rdoContainer{
m_rdoContainerName
, ctx};
28
if
(not rdoContainer.
isValid
())
return
StatusCode::SUCCESS;
29
unsigned
nRDOs{0};
30
for
(
const
SCT_RDO_Collection
* collection: *rdoContainer) {
31
nRDOs += collection->size();
32
}
33
34
// Create the output xAOD container and its auxiliary store:
35
SG::WriteHandle<xAOD::SCTRawHitValidationContainer>
xaod{
m_xAodRawHitContainerName
, ctx};
36
ATH_CHECK
(xaod.
record
(std::make_unique<xAOD::SCTRawHitValidationContainer>(),
37
std::make_unique<xAOD::SCTRawHitValidationAuxContainer>()));
38
xaod->reserve(nRDOs);
39
41
for
(
const
SCT_RDO_Collection
* collection: *rdoContainer) {
42
for
(
const
SCT_RDORawData
* rdo: *collection) {
43
// create and add xAOD object
44
xAOD::SCTRawHitValidation
* xrdo{
new
xAOD::SCTRawHitValidation
()};
45
xaod->push_back(xrdo);
47
const
Identifier
id
{rdo->identify()};
48
xrdo->
setIdentifier
(
id
.get_compact());
49
xrdo->
setWord
(rdo->getWord());
50
// setting additional decorations based on identifier
51
xrdo->
setBec
(
m_SCTHelper
->barrel_ec(
id
));
52
xrdo->
setLayer
(
m_SCTHelper
->layer_disk(
id
));
53
xrdo->
setPhi_module
(
m_SCTHelper
->phi_module(
id
));
54
xrdo->
setEta_module
(
m_SCTHelper
->eta_module(
id
));
55
xrdo->
setSide
(
m_SCTHelper
->side(
id
));
56
}
57
}
58
ATH_MSG_DEBUG
(
" recorded SCT_RawData objects: size "
<< xaod->size());
59
return
StatusCode::SUCCESS;
60
}
61
62
StatusCode
SCT_RawDataToxAOD::finalize
() {
63
return
StatusCode::SUCCESS;
64
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
SCTRawHitValidationAuxContainer.h
SCT_ID.h
This is an Identifier helper class for the SCT subdetector.
SCT_RDO_Collection
InDetRawDataCollection< SCT_RDORawData > SCT_RDO_Collection
Definition
SCT_RDO_Collection.h:25
SCT_RawDataToxAOD.h
ReadHandle.h
Handle class for reading from StoreGate.
WriteHandle.h
Handle class for recording to StoreGate.
AthCommonAlgorithm< Gaudi::Algorithm >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
Definition
AthCommonDataStore.h:95
SCT_RDORawData
Definition
SCT_RDORawData.h:24
SCT_RawDataToxAOD::m_rdoContainerName
SG::ReadHandleKey< SCT_RDO_Container > m_rdoContainerName
Definition
SCT_RawDataToxAOD.h:40
SCT_RawDataToxAOD::m_xAodRawHitContainerName
SG::WriteHandleKey< xAOD::SCTRawHitValidationContainer > m_xAodRawHitContainerName
Definition
SCT_RawDataToxAOD.h:41
SCT_RawDataToxAOD::finalize
virtual StatusCode finalize() override
Definition
SCT_RawDataToxAOD.cxx:62
SCT_RawDataToxAOD::m_SCTHelper
const SCT_ID * m_SCTHelper
Definition
SCT_RawDataToxAOD.h:38
SCT_RawDataToxAOD::initialize
virtual StatusCode initialize() override
Definition
SCT_RawDataToxAOD.cxx:19
SCT_RawDataToxAOD::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
SCT_RawDataToxAOD.cxx:26
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
xAOD::SCTRawHitValidation_v1::setSide
void setSide(int new_side)
set side of this RDO
xAOD::SCTRawHitValidation_v1::setBec
void setBec(int new_bec)
set bec of this RDO
xAOD::SCTRawHitValidation_v1::setEta_module
void setEta_module(int new_eta_module)
set eta_module of this RDO
xAOD::SCTRawHitValidation_v1::setWord
void setWord(uint32_t new_word)
set data word of this RDO
Definition
SCTRawHitValidation_v1.cxx:21
xAOD::SCTRawHitValidation_v1::setLayer
void setLayer(int new_layer)
set layer of this RDO
xAOD::SCTRawHitValidation_v1::setPhi_module
void setPhi_module(int new_phi_module)
set phi_module of this RDO
xAOD::SCTRawHitValidation_v1::setIdentifier
void setIdentifier(uint64_t new_identifier)
set identifier of this RDO
Identifier
Definition
IdentifierFieldParser.cxx:14
xAOD::SCTRawHitValidation
SCTRawHitValidation_v1 SCTRawHitValidation
Reference the current persistent version:
Definition
SCTRawHitValidation.h:13
Generated on
for ATLAS Offline Software by
1.17.0