ATLAS Offline Software
Loading...
Searching...
No Matches
LArRawSCDataReadingAlg.h
Go to the documentation of this file.
1//Dear emacs, this is -*-c++-*-
2/*
3 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4*/
5
6#ifndef LARBYTESTREAM_LARRAWSCDATAREADINDINGALG_H
7#define LARBYTESTREAM_LARRAWSCDATAREADINDINGALG_H
8
13#include "GaudiKernel/ServiceHandle.h"
14
16#include "GaudiKernel/ToolHandle.h"
17
19// For LATOME while no Condition alg exists
20#include "LArLATOMEROBIDs.h"
21
22//Event classes
26class LArOnlineID;
29
31
32public:
33 LArRawSCDataReadingAlg(const std::string& name, ISvcLocator* pSvcLocator);
34
35 StatusCode initialize() override;
36 StatusCode execute(const EventContext& ctx) const override;
37
38private:
39 // Mapping input
40 SG::ReadCondHandleKey<LArLATOMEMapping> m_mapKey {this,"MappingKey","LArLATOMEMap"};
41 //Event output:
43 SG::WriteHandleKey<LArDigitContainer> m_adcBasCollKey{this, "adcBasCollKey", "SC_ADC_BAS"};
44 SG::WriteHandleKey<LArRawSCContainer> m_etCollKey{this, "etCollKey", "SC_ET", "SG key of the LArRawSCContainer"};
45 SG::WriteHandleKey<LArRawSCContainer> m_etIdCollKey{this, "etIdCollKey", "SC_ET_ID", "SG key of the LArRawSCContainer"};
46 SG::WriteHandleKey<LArLATOMEHeaderContainer> m_latomeHeaderCollKey{this, "LArLATOMEHeaderKey", "SC_LATOME_HEADER", "SG key of the LArLATOMEHEaderContainer"};
47
48 //Service providing the input data
49 ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc{this, "ROBDataProviderSvc", "ROBDataProviderSvc"};
50 // RoI like behavior of the converter
51 Gaudi::Property<std::vector<uint32_t> > m_robList{this, "ROBList", LArByteStream::s_allROBIDs_LATOME , "ROB List to only unpack selected ROBs"};
52
53 //Identifier helper
54 const LArOnlineID* m_onlineId = nullptr;
55
56 // The LATOME Decoder tool
57 ToolHandle<LArLATOMEDecoder> m_latomeDecoder;
58
59 //Switches set in initialize() based of SG keys of output object
60 bool m_doAdc = true;
61 bool m_doAdcBas = true;
62 bool m_doEt = true;
63 bool m_doEtId = true;
64 bool m_doLATOMEHeader = true;
65
66};
67
68#endif
Byte stream converter of LATOME.
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for recording to StoreGate.
An algorithm that can be simultaneously executed in multiple threads.
Interface class for managing ROB for both online and offline.
Container class for LArDigit.
Container class for LArLATOMEHeader.
Container class for LArRawSC.
SG::ReadCondHandleKey< LArLATOMEMapping > m_mapKey
SG::WriteHandleKey< LArDigitContainer > m_adcBasCollKey
StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< LArDigitContainer > m_adcCollKey
Gaudi::Property< std::vector< uint32_t > > m_robList
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
StatusCode initialize() override
const LArOnlineID * m_onlineId
SG::WriteHandleKey< LArRawSCContainer > m_etCollKey
SG::WriteHandleKey< LArRawSCContainer > m_etIdCollKey
ToolHandle< LArLATOMEDecoder > m_latomeDecoder
SG::WriteHandleKey< LArLATOMEHeaderContainer > m_latomeHeaderCollKey
LArRawSCDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Property holding a SG store/key/clid from which a WriteHandle is made.
static const std::vector< uint32_t > s_allROBIDs_LATOME