ATLAS Offline Software
Loading...
Searching...
No Matches
LArRawDataReadingAlg.h
Go to the documentation of this file.
1//Dear emacs, this is -*-c++-*-
2/*
3 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
4*/
5
6#ifndef LARBYTESTREAM_LARRAWDATAREADINDINGALG_H
7#define LARBYTESTREAM_LARRAWDATAREADINDINGALG_H
8
13#include "GaudiKernel/ServiceHandle.h"
14
17
18//Event classes
22class LArOnlineID;
24
26 public:
27 LArRawDataReadingAlg(const std::string& name, ISvcLocator* pSvcLocator);
28
29 StatusCode initialize() override;
30 StatusCode execute(const EventContext& ctx) const override;
31
32 private:
33 //Event output:
34 SG::WriteHandleKey<LArRawChannelContainer> m_rawChannelKey{this,"LArRawChannelKey","LArRawChannels",
35 "SG key of the LArRawChannelContainer"};
37 SG::WriteHandleKey<LArFebHeaderContainer> m_febHeaderKey{this,"LArFebHeaderKey","LArFebHeader"};
38
39 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "eventInfoKey", "EventInfo", "Key for EventInfo object"};
40
41 //Service providing the input data
42 ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc{this,"ROBDataProviderSvc","ROBDataProviderSvc"};
43
44 //Other properties:
45 BooleanProperty m_verifyChecksum{this,"VerifyChecksum",true,"Calculate and compare checksums to detect data transmission errors"};
46 BooleanProperty m_failOnCorruption{this,"FailOnCorruption",false,"Return FAILURE if data corruption is found"};
47
48 Gaudi::Property<std::string> m_subCaloPreselection{this,"SubCaloPreselection","","One of 'EM', 'HEC' or 'FCAL'"};
49
50 Gaudi::Property<std::vector<unsigned> > m_vBEPreselection{this,"BEPreselection",{},"For channel-selection: Barrel=0, Endcap=1"};
51 Gaudi::Property<std::vector<unsigned> > m_vPosNegPreselection{this,"PosNegPreselection",{}, "For channel-selection: C-Side:0, A-Side: 1"};
52 Gaudi::Property<std::vector<unsigned> > m_vFTPreselection{this,"FTNumPreselection",{}, "For channel-selection: Feedthrough numbers (e.g. 0 - 31 for barrel)"};
53
54 std::set<HWIdentifier> m_vFinalPreselection;
55
56 //Identifier helper
57 const LArOnlineID* m_onlineId=nullptr;
58
59 //Switches set in initialize() based of SG keys of output object
60 bool m_doRawChannels=true;
61 bool m_doDigits=true;
62 bool m_doFebHeaders=true;
63
64};
65
66#endif
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 LArFebHeader.
Container for LArRawChannel (IDC using LArRawChannelCollection).
LArRawDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::vector< unsigned > > m_vPosNegPreselection
Gaudi::Property< std::vector< unsigned > > m_vBEPreselection
std::set< HWIdentifier > m_vFinalPreselection
BooleanProperty m_failOnCorruption
SG::WriteHandleKey< LArRawChannelContainer > m_rawChannelKey
const LArOnlineID * m_onlineId
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
StatusCode initialize() override
SG::WriteHandleKey< LArFebHeaderContainer > m_febHeaderKey
BooleanProperty m_verifyChecksum
Gaudi::Property< std::string > m_subCaloPreselection
SG::WriteHandleKey< LArDigitContainer > m_digitKey
Gaudi::Property< std::vector< unsigned > > m_vFTPreselection
StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.