ATLAS Offline Software
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 
10 #include "StoreGate/WriteHandle.h"
13 #include "GaudiKernel/ServiceHandle.h"
14 
16 #include "GaudiKernel/ToolHandle.h"
17 
19 
20 //Event classes
21 class LArDigitContainer;
22 class LArRawSCContainer;
24 class LArOnlineID;
26 
28 
29 public:
30  LArRawSCDataReadingAlg(const std::string& name, ISvcLocator* pSvcLocator);
31 
32  StatusCode initialize() override;
33  StatusCode execute(const EventContext& ctx) const override;
34 
35 private:
36  // Mapping input
37  SG::ReadCondHandleKey<LArLATOMEMapping> m_mapKey {this,"MappingKey","LArLATOMEMap"};
38  //Event output:
40  SG::WriteHandleKey<LArDigitContainer> m_adcBasCollKey{this, "adcBasCollKey", "SC_ADC_BAS"};
41  SG::WriteHandleKey<LArRawSCContainer> m_etCollKey{this, "etCollKey", "SC_ET", "SG key of the LArRawSCContainer"};
42  SG::WriteHandleKey<LArRawSCContainer> m_etIdCollKey{this, "etIdCollKey", "SC_ET_ID", "SG key of the LArRawSCContainer"};
43  SG::WriteHandleKey<LArLATOMEHeaderContainer> m_latomeHeaderCollKey{this, "LArLATOMEHeaderKey", "SC_LATOME_HEADER", "SG key of the LArLATOMEHEaderContainer"};
44 
45  //Service providing the input data
46  ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc{this, "ROBDataProviderSvc", "ROBDataProviderSvc"};
47 
48  //Identifier helper
49  const LArOnlineID* m_onlineId = nullptr;
50 
51  // The LATOME Decoder tool
52  ToolHandle<LArLATOMEDecoder> m_latomeDecoder;
53 
54  //Switches set in initialize() based of SG keys of output object
55  bool m_doAdc = true;
56  bool m_doAdcBas = true;
57  bool m_doEt = true;
58  bool m_doEtId = true;
59  bool m_doLATOMEHeader = true;
60 
61 };
62 
63 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArRawSCDataReadingAlg::m_adcBasCollKey
SG::WriteHandleKey< LArDigitContainer > m_adcBasCollKey
Definition: LArRawSCDataReadingAlg.h:40
LArRawSCContainer
Container class for LArRawSC.
Definition: LArRawSCContainer.h:17
LArRawSCDataReadingAlg::m_latomeDecoder
ToolHandle< LArLATOMEDecoder > m_latomeDecoder
Definition: LArRawSCDataReadingAlg.h:52
LArRawSCDataReadingAlg::m_doLATOMEHeader
bool m_doLATOMEHeader
Definition: LArRawSCDataReadingAlg.h:59
LArRawSCDataReadingAlg::LArRawSCDataReadingAlg
LArRawSCDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArRawSCDataReadingAlg.cxx:17
LArLATOMEHeaderContainer
Container class for LArLATOMEHeader.
Definition: LArLATOMEHeaderContainer.h:19
LArRawSCDataReadingAlg::m_onlineId
const LArOnlineID * m_onlineId
Definition: LArRawSCDataReadingAlg.h:49
ReadCondHandle.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
WriteHandle.h
Handle class for recording to StoreGate.
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
LArRawSCDataReadingAlg::initialize
StatusCode initialize() override
Definition: LArRawSCDataReadingAlg.cxx:25
SG::WriteHandleKey< LArDigitContainer >
LArRawSCDataReadingAlg::m_adcCollKey
SG::WriteHandleKey< LArDigitContainer > m_adcCollKey
Definition: LArRawSCDataReadingAlg.h:39
LArLATOMEMapping.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRawSCDataReadingAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: LArRawSCDataReadingAlg.cxx:53
LArRawSCDataReadingAlg::m_mapKey
SG::ReadCondHandleKey< LArLATOMEMapping > m_mapKey
Definition: LArRawSCDataReadingAlg.h:37
AthReentrantAlgorithm.h
LArRawSCDataReadingAlg::m_etIdCollKey
SG::WriteHandleKey< LArRawSCContainer > m_etIdCollKey
Definition: LArRawSCDataReadingAlg.h:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
LArRawSCDataReadingAlg::m_doAdcBas
bool m_doAdcBas
Definition: LArRawSCDataReadingAlg.h:56
LArOnlineID
Definition: LArOnlineID.h:20
SG::ReadCondHandleKey< LArLATOMEMapping >
LArRawSCDataReadingAlg::m_doEtId
bool m_doEtId
Definition: LArRawSCDataReadingAlg.h:58
LArRawSCDataReadingAlg::m_doAdc
bool m_doAdc
Definition: LArRawSCDataReadingAlg.h:55
LArRawSCDataReadingAlg::m_doEt
bool m_doEt
Definition: LArRawSCDataReadingAlg.h:57
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArRawSCDataReadingAlg::m_etCollKey
SG::WriteHandleKey< LArRawSCContainer > m_etCollKey
Definition: LArRawSCDataReadingAlg.h:41
LArRawSCDataReadingAlg
Definition: LArRawSCDataReadingAlg.h:27
LArLATOMEDecoder.h
Byte stream converter of LATOME.
LArRawSCDataReadingAlg::m_robDataProviderSvc
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
Definition: LArRawSCDataReadingAlg.h:46
LArRawSCDataReadingAlg::m_latomeHeaderCollKey
SG::WriteHandleKey< LArLATOMEHeaderContainer > m_latomeHeaderCollKey
Definition: LArRawSCDataReadingAlg.h:43
ServiceHandle< IROBDataProviderSvc >