ATLAS Offline Software
Loading...
Searching...
No Matches
PixelRawContByteStreamTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PixelRawContByteStreamTool.h
7// Header file for class PixelRawContByteStreamTool
9// (c) ATLAS Pixel Detector software
12// Version 00-00-39 05/03/2007 Daniel Dobos
14
15#ifndef PIXELRAWDATABYTESTREAMCNV_PIXELRAWCONTRAWEVENTTOOL_H
16#define PIXELRAWDATABYTESTREAMCNV_PIXELRAWCONTRAWEVENTTOOL_H
17
18// #define _DEBUG
19
20
21
23
24#include "GaudiKernel/ServiceHandle.h"
25
26#include "InDetRawData/PixelRDO_Container.h" //typedef
32#include <cstdint>
33#include <string>
34#include <vector>
35class PixelID;
36
37namespace InDetDD{
39}
40
42
43 public:
44 // constructor
45 PixelRawContByteStreamTool(const std::string& type,const std::string& name,const IInterface* parent);
46
47 // destructor
49
50 // AlgTool InterfaceID
51 static const InterfaceID& interfaceID();
52
53 virtual StatusCode initialize() override;
54 virtual StatusCode finalize() override;
55 StatusCode convert(PixelRDO_Container* cont) const;
56
57 void fillROD(std::vector<uint32_t>& v32rod, std::vector<const PixelRDORawData*> RDOs, int BCs_per_LVL1ID) const;
58
59 void packIBLcondensed(std::vector <uint32_t > & v32rod, std::vector <uint32_t > & vRows, std::vector <uint32_t > & vCols, std::vector<int> & vTots) const;
60 void packIBLCondensed(std::vector <uint32_t > & v32rod, const std::vector<const PixelRDORawData*> &rdos_sameIBL_offlineId);
61 uint32_t packLinkHeader(uint32_t module, uint32_t bcid, uint32_t lvl1id, uint32_t lvl1idskip, uint32_t errors) const;
62 uint32_t packLinkHeader_IBL(uint32_t module, uint32_t bcid, uint32_t lvl1id, uint32_t feFlag) const;
63 uint32_t packRawDataWord(uint32_t FE, uint32_t row, uint32_t column, uint32_t ToT) const;
64 uint32_t packRawDataWord_IBL(uint32_t row, uint32_t column, int ToT, uint32_t nLink) const;
65 uint32_t packLinkTrailer(uint32_t errors) const; // for Pixel
66 uint32_t packLinkTrailer_IBL(uint32_t FEonSLink, bool timeOutErrorBit, bool condensedModeBit, bool linkMasked) const; // for IBL
67
68 private:
70 { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" };
71
73 { this, "PixelReadoutManager", "PixelReadoutManager", "Pixel readout manager" };
74
76
78
79 unsigned short m_RodBlockVersion{};
81
83 {this, "PixelCablingCondData", "PixelCablingCondData", "Pixel cabling key"};
84
86 {this, "PixelHitDiscCnfgData", "PixelHitDiscCnfgData", "Pixel FEI4 HitDiscConfig key"};
87};
88
89class OrderRdos {
90
91 private:
94
95 public:
97 m_pixelReadout(pixelReadout), m_offlineId(offlineId) { }
98
99 bool operator() (const PixelRDORawData* rdo0, const PixelRDORawData* rdo1);
100};
101
115
116#endif // PIXELRAWDATABYTESTREAMCNV_PIXELRAWCONTRAWEVENTTOOL_H
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
bool operator()(const PixelRDORawData *rdo0, const PixelRDORawData *rdo1)
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
OrderInitialRdos(const ServiceHandle< InDetDD::IPixelReadoutManager > &pixelReadout, const PixelID *pixelID, SG::ReadCondHandle< PixelCablingCondData > &pixCabling)
SG::ReadCondHandle< PixelCablingCondData > m_pixCabling
OrderRdos(Identifier offlineId, const ServiceHandle< InDetDD::IPixelReadoutManager > &pixelReadout)
bool operator()(const PixelRDORawData *rdo0, const PixelRDORawData *rdo1)
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
void fillROD(std::vector< uint32_t > &v32rod, std::vector< const PixelRDORawData * > RDOs, int BCs_per_LVL1ID) const
uint32_t packLinkHeader_IBL(uint32_t module, uint32_t bcid, uint32_t lvl1id, uint32_t feFlag) const
static const InterfaceID & interfaceID()
const InDetDD::PixelDetectorManager * m_pixelManager
PixelRawContByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
uint32_t packRawDataWord(uint32_t FE, uint32_t row, uint32_t column, uint32_t ToT) const
virtual StatusCode finalize() override
void packIBLCondensed(std::vector< uint32_t > &v32rod, const std::vector< const PixelRDORawData * > &rdos_sameIBL_offlineId)
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
uint32_t packLinkHeader(uint32_t module, uint32_t bcid, uint32_t lvl1id, uint32_t lvl1idskip, uint32_t errors) const
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
uint32_t packLinkTrailer(uint32_t errors) const
void packIBLcondensed(std::vector< uint32_t > &v32rod, std::vector< uint32_t > &vRows, std::vector< uint32_t > &vCols, std::vector< int > &vTots) const
SG::ReadCondHandleKey< PixelCablingCondData > m_condCablingKey
uint32_t packRawDataWord_IBL(uint32_t row, uint32_t column, int ToT, uint32_t nLink) const
uint32_t packLinkTrailer_IBL(uint32_t FEonSLink, bool timeOutErrorBit, bool condensedModeBit, bool linkMasked) const
SG::ReadCondHandleKey< PixelHitDiscCnfgData > m_condHitDiscCnfgKey
StatusCode convert(PixelRDO_Container *cont) const
virtual StatusCode initialize() override
Message Stream Member.