ATLAS Offline Software
Loading...
Searching...
No Matches
BCM_RodEncoder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// BCM_RodEncoder.h
7// Header file for class BCM_RodEncoder
11// Version 00-00-01 12/05/2008 Daniel Dobos
12// Version 00-00-11 05/02/2009 Daniel Dobos
14
15#ifndef BCM_RAWDATABYTESTREAMCNV_BCM_RODENCODER_H
16#define BCM_RAWDATABYTESTREAMCNV_BCM_RODENCODER_H
17
18#include <inttypes.h>
19
21
23{
24public:
25
28 typedef std::vector<const RDO*> VRDO ;
29
30 // constructor
32
33 // destructor
35
36 // addRdo
37 void addRdo(const RDO * rdo) {
38 m_RDOs.push_back(rdo);
39 }
40
41 // setRodMinorVersion
42 void setRodMinorVersion (unsigned short RodBlockVersion) {
43 m_RodBlockVersion = RodBlockVersion;
44 }
45
46 // fill the Rod
47 void fillROD(std::vector<uint32_t>& v, int BCs_per_LVL1ID);
48
49private:
50
51 unsigned int encode_data_block(std::vector<uint32_t>& data_block, unsigned int BCID, unsigned int Pulse1Position[8], unsigned int Pulse1Width[8], unsigned int Pulse2Position[8], unsigned int Pulse2Width[8], unsigned int Error);
52
53 unsigned int getDataword_position(int ChannelID);
54
55 unsigned short m_RodBlockVersion;
57
58};
59
60#endif
BCM_RDO_Container BCM_RawContainer
BCM_RawData RDO
void fillROD(std::vector< uint32_t > &v, int BCs_per_LVL1ID)
void addRdo(const RDO *rdo)
std::vector< const RDO * > VRDO
unsigned short m_RodBlockVersion
void setRodMinorVersion(unsigned short RodBlockVersion)
unsigned int getDataword_position(int ChannelID)
unsigned int encode_data_block(std::vector< uint32_t > &data_block, unsigned int BCID, unsigned int Pulse1Position[8], unsigned int Pulse1Width[8], unsigned int Pulse2Position[8], unsigned int Pulse2Width[8], unsigned int Error)