ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::TgcRdoContByteStreamTool Class Reference

An AthAlgTool provides conversion between TGC bareRDO and ByteStream, and fills it in RawEvent. More...

#include <TgcRdoContByteStreamTool.h>

Inheritance diagram for Muon::TgcRdoContByteStreamTool:
Collaboration diagram for Muon::TgcRdoContByteStreamTool:

Public Member Functions

 TgcRdoContByteStreamTool (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor.
virtual ~TgcRdoContByteStreamTool ()
 Destructor.
virtual StatusCode initialize () override
 Initializer.
virtual StatusCode finalize () override
 Finalizer.
virtual StatusCode convert (const TgcRdoContainer *cont) const override
 Convert RDO container to Byte Stream.

Private Attributes

ServiceHandle< IByteStreamCnvSvcm_byteStreamCnvSvc
std::unique_ptr< TGC_Hid2RESrcIDm_hid2re

Detailed Description

An AthAlgTool provides conversion between TGC bareRDO and ByteStream, and fills it in RawEvent.

Author
Susumu Oda Susum.nosp@m.u.Od.nosp@m.a@cer.nosp@m.n.ch

This class was developed by Tadashi Maeno based on RpcPadContByteStream written by Ketevi A. Assamagan.

Definition at line 31 of file TgcRdoContByteStreamTool.h.

Constructor & Destructor Documentation

◆ TgcRdoContByteStreamTool()

Muon::TgcRdoContByteStreamTool::TgcRdoContByteStreamTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Constructor.

Definition at line 14 of file TgcRdoContByteStreamTool.cxx.

16 : base_class(type, name, parent) {
17 declareInterface<Muon::ITGC_RDOtoByteStreamTool>(this);
18}

◆ ~TgcRdoContByteStreamTool()

Muon::TgcRdoContByteStreamTool::~TgcRdoContByteStreamTool ( )
virtualdefault

Destructor.

Member Function Documentation

◆ convert()

StatusCode Muon::TgcRdoContByteStreamTool::convert ( const TgcRdoContainer * cont) const
overridevirtual

Convert RDO container to Byte Stream.

Definition at line 39 of file TgcRdoContByteStreamTool.cxx.

40 {
41 // Get the event assembler
42 FullEventAssembler<TGC_Hid2RESrcID>* fea = nullptr;
44 m_byteStreamCnvSvc->getFullEventAssembler(fea, "TgcRdoContByteStream"));
45
46 // event assembler
48
49 // a map for ROD ID onto Encoder
50 std::map<uint32_t, TgcROD_Encoder> mapEncoder;
51
52 // loop over RDO
53 TgcRdoContainer::const_iterator it_col = cont->begin();
54 TgcRdoContainer::const_iterator it_col_end = cont->end();
55 for (; it_col != it_col_end; ++it_col) {
56 // get ROD ID
57 const uint32_t rodId = m_hid2re->getRodID(*it_col);
58
59 // map the RDO onto Encoder
60 mapEncoder[rodId].setRdo(*it_col);
61 }
62
63 // loop over map and fill all ROD Data Blocks
64 std::map<uint32_t, TgcROD_Encoder>::iterator it_map = mapEncoder.begin();
65 std::map<uint32_t, TgcROD_Encoder>::iterator it_map_end = mapEncoder.end();
66 for (; it_map != it_map_end; ++it_map) {
67 // get ROD data address
68 theROD = fea->getRodData((*it_map).first);
69
70 // fill ROD data
71 ((*it_map).second).fillROD(*theROD);
72 }
73
74 return StatusCode::SUCCESS;
75}
#define ATH_CHECK
Evaluate an expression and check for errors.
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
RODDATA * getRodData(uint32_t id)
get a block of ROD data
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
std::unique_ptr< TGC_Hid2RESrcID > m_hid2re
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
setEventNumber uint32_t

◆ finalize()

StatusCode Muon::TgcRdoContByteStreamTool::finalize ( )
overridevirtual

Finalizer.

Definition at line 34 of file TgcRdoContByteStreamTool.cxx.

34 {
35 return AthAlgTool::finalize();
36}

◆ initialize()

StatusCode Muon::TgcRdoContByteStreamTool::initialize ( )
overridevirtual

Initializer.

Definition at line 24 of file TgcRdoContByteStreamTool.cxx.

24 {
25 // create TGC RDO ID to source ID mapper
26 m_hid2re = std::make_unique<TGC_Hid2RESrcID>();
27
28 ATH_CHECK(m_byteStreamCnvSvc.retrieve());
29
30 return StatusCode::SUCCESS;
31}

Member Data Documentation

◆ m_byteStreamCnvSvc

ServiceHandle<IByteStreamCnvSvc> Muon::TgcRdoContByteStreamTool::m_byteStreamCnvSvc
private
Initial value:
{
this, "ByteStreamCnvSvc", "ByteStreamCnvSvc"}

Definition at line 50 of file TgcRdoContByteStreamTool.h.

50 {
51 this, "ByteStreamCnvSvc", "ByteStreamCnvSvc"};

◆ m_hid2re

std::unique_ptr<TGC_Hid2RESrcID> Muon::TgcRdoContByteStreamTool::m_hid2re
private

Definition at line 53 of file TgcRdoContByteStreamTool.h.


The documentation for this class was generated from the following files: