ATLAS Offline Software
TileROD_Encoder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILEBYTESTREAM_TILEROD_ENCODER_H
6 #define TILEBYTESTREAM_TILEROD_ENCODER_H
7 
10 
16 
22 
23 class TileRawChannel;
24 class TileFastRawChannel;
25 class TileDigits;
26 class TileL2;
28 class TileID;
29 class TileHWID;
30 
31 #include <vector>
32 #include <stdint.h>
33 
45  : public AthMessaging
46 {
47  public:
48 
52 
55  void setTileHWID(const TileHWID* tileHWID, bool verbose, unsigned int type = 4);
56  void setTileHWID(const TileHWID* tileHWID, int m_runPeriod);
57 
61 
64  void setMaxChannels(int maxChannels);
65 
66 
70 
73  void add(const TileFastRawChannel* rc) { m_vTileRC.push_back(rc); }
74 
77  void addL2(const TileL2* l2) { m_vTileL2.push_back(l2); }
78 
81  void addTileMuRcvObj(const TileMuonReceiverObj* tileMuRcvObj) { m_vTileMuRcvObj.push_back(tileMuRcvObj); } // decision (d6 and d5+d6) calculated @ TMDB
82 
85  void addDigi(const TileDigits* digi) { m_vTileDigi.push_back(digi); }
86 
89  void fillROD(std::vector<uint32_t>& v);
90  void fillROD2(std::vector<uint32_t>& v);
91  void fillROD3(std::vector<uint32_t>& v);
92  void fillROD4(std::vector<uint32_t>& v);
93  void fillROD5(std::vector<uint32_t>& v);
94 
97  void fillROD10(std::vector<uint32_t>& v);
98  void fillROD12(std::vector<uint32_t>& v);
99  void fillRODL2(std::vector<uint32_t>& v);
100 
103  void fillROD1(std::vector<uint32_t>& v);
104  void fillROD5D(std::vector<uint32_t>& v);
105 
108  void fillRODTileMuRcvDigi(std::vector<uint32_t>& v);
109  void fillRODTileMuRcvRawChannel(std::vector<uint32_t>& v);
110  void fillRODTileMuRcvObj(std::vector<uint32_t>& v);
111 
114  void dumpROD(const std::vector<uint32_t>& v);
115 
116  private:
117 
120  void setBit(uint32_t* p, int chan);
121 
124  bool checkBit(const uint32_t* p, int chan);
125 
126  std::vector<const TileFastRawChannel*> m_vTileRC;
127  std::vector<const TileL2*> m_vTileL2;
128  std::vector<const TileDigits*> m_vTileDigi;
129 
130  std::vector<const TileMuonReceiverObj*> m_vTileMuRcvObj; // decision (d6 and d5+d6) calculated @ TMDB
131 
137 
139  // const TileID* m_tileID;
140 
141  // sort channels according to Channel HWID
143 
144  bool m_verbose;
145  unsigned int m_type;
146  unsigned int m_unitType;
147  unsigned int m_rChUnit;
148 
151 };
152 
153 #endif
TileROD_Encoder::m_order
TileRawDataOrdering m_order
Definition: TileROD_Encoder.h:142
TileROD_Encoder::~TileROD_Encoder
~TileROD_Encoder()
destructor
Definition: TileROD_Encoder.h:69
TileROD_Encoder::fillROD3
void fillROD3(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:301
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
getMessageSvc.h
singleton-like access to IMessageSvc via open function and helper
TileRawChannel2Bytes2.h
TileROD_Encoder::fillRODTileMuRcvRawChannel
void fillRODTileMuRcvRawChannel(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:641
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TileROD_Encoder::dumpROD
void dumpROD(const std::vector< uint32_t > &v)
dump contents of the ROD fragment
Definition: TileROD_Encoder.cxx:951
TileRawChannel2Bytes2
Converts the TileRawChannel object into bytes as it is defined at the testbeam.
Definition: TileRawChannel2Bytes2.h:58
TileROD_Encoder::setTileHWID
void setTileHWID(const TileHWID *tileHWID, bool verbose, unsigned int type=4)
set all necessary parameters for the encoder
Definition: TileROD_Encoder.cxx:36
TileRawChannel2Bytes4
Converts the TileRawChannel object into bytes as it is defined at the commissioning 2007....
Definition: TileRawChannel2Bytes4.h:66
TileROD_Encoder
Provides conversion from TileRawChannel, TileL2 and TMDB (digits,MF raw channel,decision) to ROD form...
Definition: TileROD_Encoder.h:46
TileFragHash::TYPE
TYPE
initialize
Definition: TileFragHash.h:33
TileRawDataOrdering.h
TileROD_Encoder::fillROD4
void fillROD4(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:383
TileROD_Encoder::fillROD1
void fillROD1(std::vector< uint32_t > &v)
convert all TileDigits in the current list to a vector of 32bit words
Definition: TileROD_Encoder.cxx:471
TileROD_Encoder::m_rc2bytes5
TileRawChannel2Bytes5 m_rc2bytes5
Definition: TileROD_Encoder.h:136
TileFragHash.h
TileMuonReceiverContainer.h
TileROD_Encoder::m_runPeriod
int m_runPeriod
Definition: TileROD_Encoder.h:150
TileDigits2Bytes.h
TileROD_Encoder::setBit
void setBit(uint32_t *p, int chan)
set the bitmap for a channel
Definition: TileROD_Encoder.cxx:932
TileRawChannel2Bytes5.h
TileROD_Encoder::checkBit
bool checkBit(const uint32_t *p, int chan)
check the bitmap for a channel
Definition: TileROD_Encoder.cxx:942
TileROD_Encoder::m_verbose
bool m_verbose
Definition: TileROD_Encoder.h:144
TileROD_Encoder::setTypeAndUnit
void setTypeAndUnit(TileFragHash::TYPE type, TileRawChannelUnit::UNIT unit)
set OF algorigtm type and amplitude units for a drawer
Definition: TileROD_Encoder.cxx:65
TileRawChannel2Bytes4.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileROD_Encoder::add
void add(const TileFastRawChannel *rc)
add TileRawChannels to the current list
Definition: TileROD_Encoder.h:73
skel.l2
l2
Definition: skel.GENtoEVGEN.py:426
TileROD_Encoder::fillROD5
void fillROD5(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:498
TileROD_Encoder::m_maxChannels
int m_maxChannels
Definition: TileROD_Encoder.h:149
TileROD_Encoder::addDigi
void addDigi(const TileDigits *digi)
add TileDigits to the current list
Definition: TileROD_Encoder.h:85
TileROD_Encoder::fillROD10
void fillROD10(std::vector< uint32_t > &v)
convert all TileL2s in the current list to a vector of 32bit words
Definition: TileROD_Encoder.cxx:145
TileROD_Encoder::addL2
void addL2(const TileL2 *l2)
add TileL2s to the current list
Definition: TileROD_Encoder.h:77
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
TileDigitsContainer.h
TileROD_Encoder::m_type
unsigned int m_type
Definition: TileROD_Encoder.h:145
TileROD_Encoder::addTileMuRcvObj
void addTileMuRcvObj(const TileMuonReceiverObj *tileMuRcvObj)
add TMBDs ROD sub-fragmens TileMuRcvObj (type3) to the current list
Definition: TileROD_Encoder.h:81
TileRawChannel
Definition: TileRawChannel.h:35
TileRawChannel2Bytes5
Converts the TileRawChannel object into bytes as it.
Definition: TileRawChannel2Bytes5.h:43
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
TileROD_Encoder::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileROD_Encoder.h:138
TileROD_Encoder::fillRODTileMuRcvObj
void fillRODTileMuRcvObj(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:765
TileRawChannelUnit::UNIT
UNIT
Definition: TileRawChannelUnit.h:16
TileROD_Encoder::m_unitType
unsigned int m_unitType
Definition: TileROD_Encoder.h:146
TileROD_Encoder::m_rc2bytes2
TileRawChannel2Bytes2 m_rc2bytes2
Definition: TileROD_Encoder.h:133
TileROD_Encoder::setMaxChannels
void setMaxChannels(int maxChannels)
set maximum number of channels in a drawer
Definition: TileROD_Encoder.cxx:105
TileROD_Encoder::m_vTileRC
std::vector< const TileFastRawChannel * > m_vTileRC
Definition: TileROD_Encoder.h:126
TileROD_Encoder::m_rChUnit
unsigned int m_rChUnit
Definition: TileROD_Encoder.h:147
TileDigits
Definition: TileDigits.h:30
TileROD_Encoder::m_vTileMuRcvObj
std::vector< const TileMuonReceiverObj * > m_vTileMuRcvObj
Definition: TileROD_Encoder.h:130
TileROD_Encoder::fillRODTileMuRcvDigi
void fillRODTileMuRcvDigi(std::vector< uint32_t > &v)
convert the TMDB objects into a vector of 32bit words: 8bit words/digit, 16bit words/RC,...
Definition: TileROD_Encoder.cxx:510
TileRawChannel2Bytes
Converts the TileRawChannel object into bytes.
Definition: TileRawChannel2Bytes.h:42
TileRawChannelUnit.h
python.PyAthena.v
v
Definition: PyAthena.py:157
TileMuonReceiverObj
Definition: TileMuonReceiverObj.h:28
TileROD_Encoder::TileROD_Encoder
TileROD_Encoder()
constructor
Definition: TileROD_Encoder.cxx:24
TileROD_Encoder::fillROD
void fillROD(std::vector< uint32_t > &v)
convert all TileRawChannels in the current list to a vector of 32bit words
Definition: TileROD_Encoder.cxx:113
TileROD_Encoder::fillRODL2
void fillRODL2(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:432
unit
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
Definition: AmgMatrixBasePlugin.h:20
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TileROD_Encoder::m_Digi2bytes
TileDigits2Bytes m_Digi2bytes
Definition: TileROD_Encoder.h:132
python.TriggerHandler.verbose
verbose
Definition: TriggerHandler.py:297
AthMessaging.h
TileDigits2Bytes
This class converts TileDigits to and from bytestream in ROD format.
Definition: TileDigits2Bytes.h:20
TileROD_Encoder::m_vTileDigi
std::vector< const TileDigits * > m_vTileDigi
Definition: TileROD_Encoder.h:128
TileROD_Encoder::fillROD2
void fillROD2(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:257
TileROD_Encoder::m_rc2bytes3
TileRawChannel2Bytes m_rc2bytes3
Definition: TileROD_Encoder.h:134
TileFastRawChannel
Definition: TileFastRawChannel.h:17
TileROD_Encoder::m_rc2bytes4
TileRawChannel2Bytes4 m_rc2bytes4
Definition: TileROD_Encoder.h:135
TileROD_Encoder::m_vTileL2
std::vector< const TileL2 * > m_vTileL2
Definition: TileROD_Encoder.h:127
TileROD_Encoder::fillROD5D
void fillROD5D(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:502
TileL2
Class to store TileMuId and Et quantities computed at the TileCal ROD DSPs.
Definition: TileL2.h:33
TileROD_Encoder::fillROD12
void fillROD12(std::vector< uint32_t > &v)
Definition: TileROD_Encoder.cxx:209
TileRawChannel2Bytes.h
TileRawDataOrdering
class for ordering TileRawData Objects according to hardware identifier (channel number) To be used w...
Definition: TileEvent/TileEvent/TileRawDataOrdering.h:18