ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArByteStream
src
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
9
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
10
#include "
StoreGate/WriteHandle.h
"
11
#include "
StoreGate/ReadCondHandle.h
"
12
#include "
LArCabling/LArOnOffIdMapping.h
"
13
#include "GaudiKernel/ServiceHandle.h"
14
15
#include "
StoreGate/ReadHandleKey.h
"
16
#include "
xAODEventInfo/EventInfo.h
"
17
18
//Event classes
19
class
LArRawChannelContainer
;
20
class
LArDigitContainer
;
21
class
LArFebHeaderContainer
;
22
class
LArOnlineID
;
23
class
IROBDataProviderSvc
;
24
25
class
LArRawDataReadingAlg
:
public
AthReentrantAlgorithm
{
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"
};
36
SG::WriteHandleKey<LArDigitContainer>
m_digitKey
{
this
,
"LArDigitKey"
,
"FREE"
};
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
AthReentrantAlgorithm.h
LArOnOffIdMapping.h
ReadCondHandle.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandle.h
Handle class for recording to StoreGate.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition
IROBDataProviderSvc.h:21
LArDigitContainer
Container class for LArDigit.
Definition
LArDigitContainer.h:24
LArFebHeaderContainer
Container class for LArFebHeader.
Definition
LArFebHeaderContainer.h:20
LArOnlineID
Definition
LArOnlineID.h:21
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection).
Definition
LArRawChannelContainer.h:26
LArRawDataReadingAlg::LArRawDataReadingAlg
LArRawDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArRawDataReadingAlg.cxx:23
LArRawDataReadingAlg::m_vPosNegPreselection
Gaudi::Property< std::vector< unsigned > > m_vPosNegPreselection
Definition
LArRawDataReadingAlg.h:51
LArRawDataReadingAlg::m_vBEPreselection
Gaudi::Property< std::vector< unsigned > > m_vBEPreselection
Definition
LArRawDataReadingAlg.h:50
LArRawDataReadingAlg::m_vFinalPreselection
std::set< HWIdentifier > m_vFinalPreselection
Definition
LArRawDataReadingAlg.h:54
LArRawDataReadingAlg::m_failOnCorruption
BooleanProperty m_failOnCorruption
Definition
LArRawDataReadingAlg.h:46
LArRawDataReadingAlg::m_rawChannelKey
SG::WriteHandleKey< LArRawChannelContainer > m_rawChannelKey
Definition
LArRawDataReadingAlg.h:34
LArRawDataReadingAlg::m_doFebHeaders
bool m_doFebHeaders
Definition
LArRawDataReadingAlg.h:62
LArRawDataReadingAlg::m_onlineId
const LArOnlineID * m_onlineId
Definition
LArRawDataReadingAlg.h:57
LArRawDataReadingAlg::m_robDataProviderSvc
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
Definition
LArRawDataReadingAlg.h:42
LArRawDataReadingAlg::initialize
StatusCode initialize() override
Definition
LArRawDataReadingAlg.cxx:26
LArRawDataReadingAlg::m_doDigits
bool m_doDigits
Definition
LArRawDataReadingAlg.h:61
LArRawDataReadingAlg::m_febHeaderKey
SG::WriteHandleKey< LArFebHeaderContainer > m_febHeaderKey
Definition
LArRawDataReadingAlg.h:37
LArRawDataReadingAlg::m_verifyChecksum
BooleanProperty m_verifyChecksum
Definition
LArRawDataReadingAlg.h:45
LArRawDataReadingAlg::m_subCaloPreselection
Gaudi::Property< std::string > m_subCaloPreselection
Definition
LArRawDataReadingAlg.h:48
LArRawDataReadingAlg::m_doRawChannels
bool m_doRawChannels
Definition
LArRawDataReadingAlg.h:60
LArRawDataReadingAlg::m_digitKey
SG::WriteHandleKey< LArDigitContainer > m_digitKey
Definition
LArRawDataReadingAlg.h:36
LArRawDataReadingAlg::m_vFTPreselection
Gaudi::Property< std::vector< unsigned > > m_vFTPreselection
Definition
LArRawDataReadingAlg.h:52
LArRawDataReadingAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
LArRawDataReadingAlg.cxx:124
LArRawDataReadingAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition
LArRawDataReadingAlg.h:39
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0