ATLAS Offline Software
Loading...
Searching...
No Matches
LArRawSCCalibDataReadingAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARBYTESTREAM_LARRAWSCCALIBDATAREADINDINGALG_H
6#define LARBYTESTREAM_LARRAWSCCALIBDATAREADINDINGALG_H
7
12#include "GaudiKernel/ServiceHandle.h"
13#include "GaudiKernel/SystemOfUnits.h"
14
18
19
20//Event classes
24class LArOnlineID;
26
28 public:
29 LArRawSCCalibDataReadingAlg(const std::string& name, ISvcLocator* pSvcLocator): AthReentrantAlgorithm(name, pSvcLocator) {};
30
31 StatusCode initialize() override;
32 StatusCode execute(const EventContext& ctx) const override;
33
34 private:
35 // Mapping input
36 SG::ReadCondHandleKey<LArLATOMEMapping> m_mapKey {this,"MappingKey","LArLATOMEMap"};
37 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibCablingKeyLeg","LArCalibLineMap","SG Key of LArCalibLineMapping object"};
38 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "OnOffMapLeg", "LArOnOffIdMap", "SG key for legacy mapping object"};
39
40 //Event output:
43 SG::WriteHandleKey<LArLATOMEHeaderContainer> m_latomeHeaderCollKey{this, "LArLATOMEHeaderKey", "", "SG key of the LArLATOMEHEaderContainer"};
44
45 //Service providing the input data
46 ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc{this,"ROBDataProviderSvc","ROBDataProviderSvc"};
47
48 //Other properties:
49 BooleanProperty m_failOnCorruption{this,"FailOnCorruption",true,"Return FAILURE if data corruption is found"};
50
51 DoubleProperty m_delayScale{this,"DelayScale",(25./240.)*Gaudi::Units::nanosecond,"One calibration step in time"};
52
53
54 //Identifier helper
55 const LArOnlineID* m_onlineId=nullptr;
56
57
58 // The LATOME Decoder tool
59 ToolHandle<LArLATOMEDecoder> m_latomeDecoder{this, "LATOMEDecoder", "LArByteStream/LATOMEDecoder", "decoder instance"};
60
61 //Switches set in initialize() based of SG keys of output object
62 bool m_doAccDigits=false;
64 bool m_doLATOMEHeader = true;
65
66};
67
68#endif
Byte stream converter of LATOME.
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 LArAccumulatedCalibDigit.
Container class for LArAccumulatedDigit.
Container class for LArLATOMEHeader.
SG::WriteHandleKey< LArAccumulatedDigitContainer > m_accDigitKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
ToolHandle< LArLATOMEDecoder > m_latomeDecoder
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
LArRawSCCalibDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteHandleKey< LArLATOMEHeaderContainer > m_latomeHeaderCollKey
SG::ReadCondHandleKey< LArLATOMEMapping > m_mapKey
StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< LArAccumulatedCalibDigitContainer > m_accCalibDigitKey
Property holding a SG store/key/clid from which a WriteHandle is made.