|
ATLAS Offline Software
|
Go to the documentation of this file.
14 return StatusCode::SUCCESS;
22 return StatusCode::SUCCESS;
28 const unsigned int hashMax =
m_idHelperSvc->mdtIdHelper().module_hash_max();
29 ATH_CHECK(wh_mdtDigit.
record(std::make_unique<MdtDigitContainer>(hashMax)));
34 digitMap.resize(hashMax);
35 for (
const MdtCsm* csmColl : *rdoContainer) {
39 for (std::unique_ptr<MdtDigitCollection>&collection: digitMap) {
40 if (!collection)
continue;
44 return StatusCode::SUCCESS;
48 if (rdoColl.
empty()) {
49 return StatusCode::SUCCESS;
61 std::unique_ptr<MdtDigit> newDigit{
m_mdtRdoDecoderTool->getDigit(ctx, *amtHit, subdetId, mrodId, csmId)};
71 std::unique_ptr<MdtDigitCollection>& outCollection = digitMap[coll_hash];
73 outCollection = std::make_unique<MdtDigitCollection>(
m_idHelperSvc->chamberId(newDigit->identify()), coll_hash);
75 outCollection->
push_back(std::move(newDigit));
77 return StatusCode::SUCCESS;
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
uint16_t CsmId() const
Returns the CSM online id (online identifier inside a MROD)
ToolHandle< Muon::IMDT_RDO_Decoder > m_mdtRdoDecoderTool
virtual StatusCode initialize() override final
MDT RDO's : data from a single channel of an AMT Atlas Muon TDC.
const_pointer_type cptr()
Dereference the pointer.
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId) override final
insert collection into container with id hash if IDC should not take ownership of collection,...
std::vector< std::unique_ptr< MdtDigitCollection > > DigitCollection
size_t size() const
Duplicate of fullSize for backwards compatability.
uint16_t SubDetId() const
Returns the sub-detector Id.
This container provides acces to the MDT RDOs.
MDT RDOs : Chamber Service Module, container of AmtHits of a single Mdt chamber.
MdtRdoToMdtDigit(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override final
An algorithm that can be simultaneously executed in multiple threads.
uint16_t MrodId() const
Returns the MROD id from the CSM header.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode decodeMdt(const EventContext &ctx, const MdtCsm &rdoCollection, DigitCollection &digitContainer) const
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
SG::WriteHandleKey< MdtDigitContainer > m_mdtDigitKey
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
size_type size() const noexcept
Returns the number of elements in the collection.
SG::ReadHandleKey< MdtCsmContainer > m_mdtRdoKey
bool empty() const noexcept
Returns true if the collection is empty.