ATLAS Offline Software
Loading...
Searching...
No Matches
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
36
39
42
49
51{
52public:
53
54 // constructor
55 LArRodEncoder (const LArOnlineID& onlineHelper,
56 const CaloDetDescrManager& calodd,
57 const LArOnOffIdMapping& onOffIdMapping,
58 LArRodBlockStructure* BlStruct);
59 // destructor
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
81private:
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
95};
96
97#endif
Definition of CaloDetDescrManager.
static Double_t rc
This class provides the client interface for accessing the detector description information common to...
Base class for LArDigits taken during calibration runs.
Liquid Argon digit base class.
Definition LArDigit.h:25
Liquid Argon ROD output object base class.
void add(const LArRawChannel *rc)
const LArOnlineID & m_onlineHelper
void fillROD(std::vector< uint32_t > &v, MsgStream &logstr, const CaloNoise &noise, double nsigma)
const CaloDetDescrManager & m_CaloDetDescrManager
std::map< uint32_t, FebData_t > m_mFEB
LArRodEncoder(const LArOnlineID &onlineHelper, const CaloDetDescrManager &calodd, const LArOnOffIdMapping &onOffIdMapping, LArRodBlockStructure *BlStruct)
LArRodBlockStructure * m_BlStruct
const LArOnOffIdMapping & m_onOffIdMapping
std::vector< const LArDigit * > vLArDigitFixed[3]
std::vector< const LArDigit * > vLArDigit
std::vector< const LArRawChannel * > vLArRC
std::vector< const LArCalibDigit * > vLArCalibDigit[3]