ATLAS Offline Software
TgcRdoContByteStreamTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include <map>
8 
9 #include "TgcROD_Encoder.h"
11 
12 #include "GaudiKernel/MsgStream.h"
13 
14 // contructor
16 (const std::string& type, const std::string& name, const IInterface* parent)
17  : base_class(type,name,parent)
18 {
19  declareInterface<Muon::ITGC_RDOtoByteStreamTool>(this);
20 }
21 
22 
23 // destructor
25 = default;
26 
27 
28 // initialize
30 {
31  // create TGC RDO ID to source ID mapper
32  m_hid2re = std::make_unique<TGC_Hid2RESrcID>();
33 
34  ATH_CHECK( m_byteStreamCnvSvc.retrieve() );
35 
36  return StatusCode::SUCCESS;
37 }
38 
39 
40 // finalize
42 {
43  return AthAlgTool::finalize();
44 }
45 
46 
47 // convert TGC RDO to ByteStream
49 {
50  // Get the event assembler
52  ATH_CHECK( m_byteStreamCnvSvc->getFullEventAssembler (fea,
53  "TgcRdoContByteStream") );
54 
55  // event assembler
57 
58  // a map for ROD ID onto Encoder
59  std::map<uint32_t, TgcROD_Encoder> mapEncoder;
60 
61  // loop over RDO
62  TgcRdoContainer::const_iterator it_col = cont->begin();
63  TgcRdoContainer::const_iterator it_col_end = cont->end();
64  for(; it_col != it_col_end; ++it_col)
65  {
66  // get ROD ID
67  const uint32_t rodId = m_hid2re->getRodID(*it_col);
68 
69  // map the RDO onto Encoder
70  mapEncoder[rodId].setRdo(*it_col);
71  }
72 
73  // loop over map and fill all ROD Data Blocks
74  std::map<uint32_t,TgcROD_Encoder>::iterator it_map = mapEncoder.begin();
75  std::map<uint32_t,TgcROD_Encoder>::iterator it_map_end = mapEncoder.end();
76  for(; it_map != it_map_end; ++it_map)
77  {
78  // get ROD data address
79  theROD = fea->getRodData((*it_map).first);
80 
81  // fill ROD data
82  ((*it_map).second).fillROD( *theROD ) ;
83  }
84 
85  return StatusCode::SUCCESS;
86 }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
FullEventAssembler
Template class for assembling a full atlas raw event from subfragments.
Definition: FullEventAssembler.h:40
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TgcRdoContByteStreamTool.h
Muon::TgcRdoContByteStreamTool::~TgcRdoContByteStreamTool
virtual ~TgcRdoContByteStreamTool()
Destructor.
TgcROD_Encoder.h
TgcRdoContainer
Definition: TgcRdoContainer.h:25
Muon::TgcRdoContByteStreamTool::finalize
virtual StatusCode finalize() override
Finalizer.
Definition: TgcRdoContByteStreamTool.cxx:41
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IdentifiableContainerMT::end
const_iterator end() const
return const_iterator for end of container
Definition: IdentifiableContainerMT.h:242
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:82
IdentifiableContainerMT::begin
const_iterator begin() const
return const_iterator for first entry
Definition: IdentifiableContainerMT.h:236
TgcRdoContainer.h
Muon::TgcRdoContByteStreamTool::convert
virtual StatusCode convert(const TgcRdoContainer *cont) const override
Convert RDO container to Byte Stream.
Definition: TgcRdoContByteStreamTool.cxx:48
Muon::TgcRdoContByteStreamTool::initialize
virtual StatusCode initialize() override
Initializer.
Definition: TgcRdoContByteStreamTool.cxx:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
FullEventAssembler::RODDATA
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
Definition: FullEventAssembler.h:54
FullEventAssembler::getRodData
RODDATA * getRodData(uint32_t id)
get a block of ROD data
Muon::TgcRdoContByteStreamTool::TgcRdoContByteStreamTool
TgcRdoContByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: TgcRdoContByteStreamTool.cxx:16