ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArByteStream
LArByteStream
LArRodEncoder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LARBYTESTREAM_LARROD_ENCODER_H
6
#define LARBYTESTREAM_LARROD_ENCODER_H
7
29
30
#include <stdint.h>
31
32
#include "GaudiKernel/MsgStream.h"
33
34
#include "
LArRawEvent/LArRawChannel.h
"
35
#include "
LArRawEvent/LArRawChannelContainer.h
"
36
37
#include "
LArRawEvent/LArDigit.h
"
38
#include "
LArRawEvent/LArDigitContainer.h
"
39
40
#include "
LArRawEvent/LArCalibDigit.h
"
41
#include "
LArRawEvent/LArCalibDigitContainer.h
"
42
43
#include "
LArCabling/LArOnOffIdMapping.h
"
44
#include "
LArByteStream/LArRodBlockStructure.h
"
45
#include "
ByteStreamData/RawEvent.h
"
46
#include "
CaloDetDescr/CaloDetDescrManager.h
"
47
#include "
LArIdentifier/LArOnlineID.h
"
48
#include "
CaloConditions/CaloNoise.h
"
49
50
class
LArRodEncoder
51
{
52
public
:
53
54
// constructor
55
LArRodEncoder
(
const
LArOnlineID
& onlineHelper,
56
const
CaloDetDescrManager
& calodd,
57
const
LArOnOffIdMapping
& onOffIdMapping,
58
LArRodBlockStructure
* BlStruct);
59
// destructor
60
~LArRodEncoder
();
61
62
// add LArRawChannels to the current list
63
void
add
(
const
LArRawChannel
*
rc
);
64
65
// add LArDigits to the current list
66
void
add
(
const
LArDigit
* digit);
67
68
// add LArDigit for fixed gain
69
void
add
(
const
LArDigit
* dg,
const
int
gain);
70
71
//add LArCalibDigit (always fixed gain)
72
void
add
(
const
LArCalibDigit
* dg,
const
int
gain);
73
74
// clear the current LArRawChannels list
75
void
clear
();
76
77
// convert all LArRawChannels in the current list to a vector of 32bit words
78
void
fillROD
(std::vector<uint32_t>& v, MsgStream& logstr,
const
CaloNoise
& noise,
double
nsigma) ;
79
80
81
private
:
82
struct
FebData_t
{
83
std::vector<const LArRawChannel*>
vLArRC
;
84
std::vector<const LArDigit*>
vLArDigit
;
//Free gain
85
std::vector<const LArDigit*>
vLArDigitFixed
[3];
//Three gains
86
std::vector<const LArCalibDigit*>
vLArCalibDigit
[3];
//Three gains
87
};
88
89
std::map<uint32_t,FebData_t>
m_mFEB
;
90
91
const
LArOnlineID
&
m_onlineHelper
;
92
const
CaloDetDescrManager
&
m_CaloDetDescrManager
;
93
const
LArOnOffIdMapping
&
m_onOffIdMapping
;
94
LArRodBlockStructure
*
m_BlStruct
;
95
};
96
97
#endif
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CaloNoise.h
LArCalibDigitContainer.h
LArCalibDigit.h
LArDigitContainer.h
LArDigit.h
LArOnOffIdMapping.h
LArOnlineID.h
rc
static Double_t rc
Definition
LArPhysWaveHECTool.cxx:37
LArRawChannelContainer.h
LArRawChannel.h
LArRodBlockStructure.h
RawEvent.h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition
CaloDetDescrManager.h:469
CaloNoise
Definition
CaloNoise.h:17
LArCalibDigit
Base class for LArDigits taken during calibration runs.
Definition
LArCalibDigit.h:29
LArDigit
Liquid Argon digit base class.
Definition
LArDigit.h:25
LArOnOffIdMapping
Definition
LArOnOffIdMapping.h:20
LArOnlineID
Definition
LArOnlineID.h:21
LArRawChannel
Liquid Argon ROD output object base class.
Definition
LArRawChannel.h:40
LArRodBlockStructure
Definition
LArRodBlockStructure.h:47
LArRodEncoder::add
void add(const LArRawChannel *rc)
Definition
LArRodEncoder.cxx:37
LArRodEncoder::m_onlineHelper
const LArOnlineID & m_onlineHelper
Definition
LArRodEncoder.h:91
LArRodEncoder::fillROD
void fillROD(std::vector< uint32_t > &v, MsgStream &logstr, const CaloNoise &noise, double nsigma)
Definition
LArRodEncoder.cxx:79
LArRodEncoder::clear
void clear()
Definition
LArRodEncoder.cxx:71
LArRodEncoder::m_CaloDetDescrManager
const CaloDetDescrManager & m_CaloDetDescrManager
Definition
LArRodEncoder.h:92
LArRodEncoder::m_mFEB
std::map< uint32_t, FebData_t > m_mFEB
Definition
LArRodEncoder.h:89
LArRodEncoder::LArRodEncoder
LArRodEncoder(const LArOnlineID &onlineHelper, const CaloDetDescrManager &calodd, const LArOnOffIdMapping &onOffIdMapping, LArRodBlockStructure *BlStruct)
Definition
LArRodEncoder.cxx:19
LArRodEncoder::m_BlStruct
LArRodBlockStructure * m_BlStruct
Definition
LArRodEncoder.h:94
LArRodEncoder::~LArRodEncoder
~LArRodEncoder()
Definition
LArRodEncoder.cxx:31
LArRodEncoder::m_onOffIdMapping
const LArOnOffIdMapping & m_onOffIdMapping
Definition
LArRodEncoder.h:93
LArRodEncoder::FebData_t
Definition
LArRodEncoder.h:82
LArRodEncoder::FebData_t::vLArDigitFixed
std::vector< const LArDigit * > vLArDigitFixed[3]
Definition
LArRodEncoder.h:85
LArRodEncoder::FebData_t::vLArDigit
std::vector< const LArDigit * > vLArDigit
Definition
LArRodEncoder.h:84
LArRodEncoder::FebData_t::vLArRC
std::vector< const LArRawChannel * > vLArRC
Definition
LArRodEncoder.h:83
LArRodEncoder::FebData_t::vLArCalibDigit
std::vector< const LArCalibDigit * > vLArCalibDigit[3]
Definition
LArRodEncoder.h:86
Generated on
for ATLAS Offline Software by
1.17.0