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 { this, "ByteStreamCnvSvc", "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 32 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 15 of file TgcRdoContByteStreamTool.cxx.

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

◆ ~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 48 of file TgcRdoContByteStreamTool.cxx.

49{
50 // Get the event assembler
51 FullEventAssembler<TGC_Hid2RESrcID>* fea = nullptr;
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}
#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 41 of file TgcRdoContByteStreamTool.cxx.

42{
43 return AthAlgTool::finalize();
44}

◆ initialize()

StatusCode Muon::TgcRdoContByteStreamTool::initialize ( )
overridevirtual

Initializer.

Definition at line 29 of file TgcRdoContByteStreamTool.cxx.

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}

Member Data Documentation

◆ m_byteStreamCnvSvc

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

Definition at line 53 of file TgcRdoContByteStreamTool.h.

54{ this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" };

◆ m_hid2re

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

Definition at line 56 of file TgcRdoContByteStreamTool.h.


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