ATLAS Offline Software
Loading...
Searching...
No Matches
TileRawDataReadingAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEBYTESTREAM_TILERAWDATAREADINDINGALG_H
6#define TILEBYTESTREAM_TILERAWDATAREADINDINGALG_H
7
17
22
23#include "GaudiKernel/ToolHandle.h"
24#include "GaudiKernel/ServiceHandle.h"
25
26
31 public:
32 using AthReentrantAlgorithm::AthReentrantAlgorithm;
33
34 StatusCode initialize() override;
35 StatusCode execute(const EventContext& ctx) const override;
36
37 private:
38
39 template <class GetRobOperation, class FillCollOperation>
40 StatusCode readDigits(const SG::WriteHandleKey<TileDigitsContainer>& digitsKey,
41 const EventContext& ctx, const TileHid2RESrcID* hid2re,
42 GetRobOperation getRobFromFragID, FillCollOperation fillCollection,
43 unsigned int offsetID=0) const;
44
45 template <class GetRobOperation, class FillCollOperation>
46 StatusCode readRawChannels(const SG::WriteHandleKey<TileRawChannelContainer>& rawChannelsKey,
47 const EventContext& ctx, const TileHid2RESrcID* hid2re,
48 GetRobOperation getRobFromFragID, FillCollOperation fillCollection,
50
51 StatusCode readBeamElements(const SG::WriteHandleKey<TileBeamElemContainer>& beamElementsKey,
52 const EventContext& ctx, const TileHid2RESrcID* hid2re) const;
53
54 StatusCode readLaserObject(const SG::WriteHandleKey<TileLaserObject>& laserObjectKey,
55 const EventContext& ctx, const TileHid2RESrcID* hid2re) const;
56
58 const EventContext& ctx) const;
59
60 StatusCode readL2(const SG::WriteHandleKey<TileL2Container>& l2Key,
61 const EventContext& ctx) const;
62
64 "TileDigitsContainer", "", "Output Tile digits container key"};
65
67 "TileDigitsFlxContainer", "", "Output Tile FELIX digits container key"};
68
70 "MuRcvDigitsContainer", "", "Output Tile TMDB digits container key"};
71
73 "TileRawChannelContainer", "", "Output Tile raw channels container key"};
74
76 "MuRcvRawChannelContainer", "", "Output Tile TMDB raw channels container key"};
77
79 "TileBeamElemContainer", "", "Output Tile beam elements container key"};
80
82 "TileLaserObject", "", "Output Tile object key"};
83
85 "TileMuonReceiverContainer", "", "Output Tile muon receiver container key"};
86
88 "TileL2Container", "", "Output Tile L2 container key"};
89
91 "TileHid2RESrcID", "TileHid2RESrcID", "TileHid2RESrcID key"};
92
97 "ROBDataProviderSvc", "ROBDataProviderSvc", "The ROB data provider service"};
98
99 ToolHandle<TileROD_Decoder> m_decoder{this,
100 "TileROD_Decoder", "TileROD_Decoder", "Tile ROD decoder"};
101
102 /*
103 * @brief Name of Tile cabling service
104 */
106 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
107
108 //Switches set in initialize() based of SG keys of output object
109 bool m_doDigits{false};
110 bool m_doMuRcvDigits{false};
111 bool m_doFlxDigits{false};
112 bool m_doRawChannels{false};
114 bool m_doBeamElements{false};
115 bool m_doLaserObject{false};
116 bool m_doMuonReceiver{false};
117 bool m_doL2{false};
118};
119
120#endif
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a WriteHandle is made.
TYPE
initialize
This class provides conversion between fragment ID and RESrcID.
Class for Tile raw data reading from BS.
StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
SG::WriteHandleKey< TileLaserObject > m_laserObjectKey
SG::ReadCondHandleKey< TileHid2RESrcID > m_hid2RESrcIDKey
StatusCode readL2(const SG::WriteHandleKey< TileL2Container > &l2Key, const EventContext &ctx) const
SG::WriteHandleKey< TileL2Container > m_l2ContainerKey
SG::WriteHandleKey< TileDigitsContainer > m_muRcvDigitsContainerKey
StatusCode initialize() override
SG::WriteHandleKey< TileDigitsContainer > m_digitsContainerKey
StatusCode readMuonReceiver(const SG::WriteHandleKey< TileMuonReceiverContainer > &muRcvKey, const EventContext &ctx) const
StatusCode readRawChannels(const SG::WriteHandleKey< TileRawChannelContainer > &rawChannelsKey, const EventContext &ctx, const TileHid2RESrcID *hid2re, GetRobOperation getRobFromFragID, FillCollOperation fillCollection, TileFragHash::TYPE type=TileFragHash::OptFilterDsp) const
ToolHandle< TileROD_Decoder > m_decoder
StatusCode readBeamElements(const SG::WriteHandleKey< TileBeamElemContainer > &beamElementsKey, const EventContext &ctx, const TileHid2RESrcID *hid2re) const
StatusCode readLaserObject(const SG::WriteHandleKey< TileLaserObject > &laserObjectKey, const EventContext &ctx, const TileHid2RESrcID *hid2re) const
SG::WriteHandleKey< TileRawChannelContainer > m_muRcvRawChannelContainerKey
SG::WriteHandleKey< TileMuonReceiverContainer > m_muonReceiverContainerKey
SG::WriteHandleKey< TileDigitsContainer > m_flxDigitsContainerKey
ServiceHandle< TileCablingSvc > m_cablingSvc
SG::WriteHandleKey< TileBeamElemContainer > m_beamElemContainerKey
ServiceHandle< IROBDataProviderSvc > m_robSvc
Name of ROB data provider service.
StatusCode readDigits(const SG::WriteHandleKey< TileDigitsContainer > &digitsKey, const EventContext &ctx, const TileHid2RESrcID *hid2re, GetRobOperation getRobFromFragID, FillCollOperation fillCollection, unsigned int offsetID=0) const