ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
Muon::TgcRdoContByteStreamTool Class Reference

#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. More...
 
virtual ~TgcRdoContByteStreamTool ()
 Destructor. More...
 
virtual StatusCode initialize () override
 Initializer. More...
 
virtual StatusCode finalize () override
 Finalizer. More...
 
virtual StatusCode convert (const TgcRdoContainer *cont) const override
 Convert RDO container to Byte Stream. More...
 

Private Attributes

ServiceHandle< ByteStreamCnvSvcm_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
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 }

◆ 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<ByteStreamCnvSvc> Muon::TgcRdoContByteStreamTool::m_byteStreamCnvSvc { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" }
private

Definition at line 53 of file TgcRdoContByteStreamTool.h.

◆ 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:
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
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
Muon::TgcRdoContByteStreamTool::m_byteStreamCnvSvc
ServiceHandle< ByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: TgcRdoContByteStreamTool.h:54
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::m_hid2re
std::unique_ptr< TGC_Hid2RESrcID > m_hid2re
Definition: TgcRdoContByteStreamTool.h:56