 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ITKPIXEL_DECODINGALG_H
6 #define ITKPIXEL_DECODINGALG_H
10 #include "GaudiKernel/MsgStream.h"
14 #include "Identifier/Identifier.h"
18 #include "itksw/pix/endec/DecCore.hpp"
22 using namespace itksw::pix::endec;
58 std::chrono::time_point<std::chrono::high_resolution_clock>
m_start;
61 ScopedTimer(std::string lbl, MsgStream&
src) : m_label(std::move(lbl)),
m_start(std::chrono::high_resolution_clock::
now()), m_msg_source(
src) {}
64 auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(
end -
m_start).count();
77 m_rdoContainer(rdoContainer),
86 const auto waferHash = m_idHelper->wafer_hash(m_identifier);
87 if (m_rdoContainer->indexFind(waferHash) == m_rdoContainer->end()){
88 m_rdoCollection = std::make_unique<PixelRDO_Collection>(waferHash);
89 m_rdoCollection->reserve(1000);
92 m_rdoCollection.reset(m_rdoContainer->removeCollection(waferHash));
100 m_rdoContainer->addCollection(m_rdoCollection.release(), m_idHelper->wafer_hash(m_identifier)).ignore();
105 ITkPixelCabling::chipToModuleTransform(m_transform, m_chipID, col,
row);
106 m_rdoCollection->emplace_back(
new Pixel1RawData(m_idHelper->pixel_id(m_identifier,
row, col),
tot, 0, 0, 0));
120 m_offlineID = offlineID;
151 m_msg_source <<
MSG::DEBUG <<
"evt_init(" <<
tag <<
")" << std::endl;
155 m_msg_source <<
MSG::DEBUG <<
"evt_next(" <<
tag <<
")" << std::endl;
159 m_msg_source <<
MSG::DEBUG <<
"evt_done()" << std::endl;
163 m_msg_source <<
MSG::DEBUG <<
"add_hit(" << col <<
"," <<
row <<
"," <<
tot <<
")" << std::endl;
167 m_msg_source <<
MSG::DEBUG <<
"add_hmap(qcol=" << qcol <<
",qrow=" << qrow
168 <<
",hmap=" << hmap <<
",tots=" << tots <<
")" << std::endl;
172 m_msg_source <<
MSG::DEBUG <<
"add_qcore(qcol=" << qcol <<
",qrow=" << qrow
173 <<
",qtot=" << qtot <<
")" << std::endl;
177 m_msg_source <<
MSG::DEBUG <<
"on_error(" <<
error.code <<
")" << std::endl;
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
const PixelID * m_idHelper
ITkPixelCabling::TransformType m_transform
std::unique_ptr< PixelRDO_Collection > m_rdoCollection
std::vector< uint32_t > m_sourceIDs
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
uint8_t on_error([[maybe_unused]] itksw::pix::endec::intf::EventError error)
void setChipID(const uint8_t &chipID)
void add_hmap([[maybe_unused]] uint8_t qcol, [[maybe_unused]] uint8_t qrow, [[maybe_unused]] uint16_t hmap, [[maybe_unused]] uint64_t tots)
void add_hit(uint16_t col, uint16_t row, uint16_t tot)
uint8_t on_error(itksw::pix::endec::intf::EventError error)
void evt_init(uint8_t tag)
An algorithm that can be simultaneously executed in multiple threads.
RDOCallback(PixelRDO_Container *rdoContainer, const PixelID *idHelper)
~TestEventCallback()=default
TestEventCallback(MsgStream &src)
::StatusCode StatusCode
StatusCode definition for legacy code.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
std::vector< std::vector< uint32_t > > ITkPacketCollection
void evt_init([[maybe_unused]] uint8_t tag)
std::chrono::time_point< std::chrono::high_resolution_clock > m_start
void add_hmap(uint8_t qcol, uint8_t qrow, uint16_t hmap, uint64_t tots)
void evt_next(uint8_t tag)
std::chrono::time_point< std::chrono::high_resolution_clock > m_start
void evt_next([[maybe_unused]] uint8_t tag)
ScopedTimer(std::string lbl, MsgStream &src)
void add_qcore(uint8_t qcol, uint8_t qrow, uint64_t qtot)
void add_hit(uint16_t col, uint16_t row, uint16_t tot)
void add_qcore([[maybe_unused]] uint8_t qcol, [[maybe_unused]] uint8_t qrow, [[maybe_unused]] uint64_t qtot)
void setTransformType(const ITkPixelCabling::TransformType &transform)
PixelRDO_Container * m_rdoContainer
void setOfflineID(const uint32_t &offlineID)