ATLAS Offline Software
Loading...
Searching...
No Matches
LUCID_RodEncoder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LUCID_RODENCODER_H
6#define LUCID_RODENCODER_H
7
8#include <inttypes.h>
9
11
12#include "GaudiKernel/Bootstrap.h"
13#include "GaudiKernel/ISvcLocator.h"
14#include "GaudiKernel/MsgStream.h"
15
18
20{
21public:
22 typedef std::vector<const LUCID_Digit*> VDIGIT;
23 struct Cache
24 {
25 unsigned int hitcounter0 = 0;
26 unsigned int hitcounter1 = 0;
27 unsigned int hitcounter2 = 0;
28 unsigned int hitcounter3 = 0;
30 };
31
34
35 void addDigit(const LUCID_Digit* digit, Cache& cache) const
36 {
37 cache.Digits.push_back(digit);
38 }
39 void encode(std::vector<uint32_t>& data_block,
40 Cache& cache,
41 MsgStream& log) const;
42
43 const VDIGIT& getDigits(Cache& cache) const { return cache.Digits; }
44
45private:
46};
47
48#endif
void addDigit(const LUCID_Digit *digit, Cache &cache) const
std::vector< const LUCID_Digit * > VDIGIT
void encode(std::vector< uint32_t > &data_block, Cache &cache, MsgStream &log) const
const VDIGIT & getDigits(Cache &cache) const