ATLAS Offline Software
Loading...
Searching...
No Matches
MMARTPacket.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef _MUON_NSW_MMART_H_
5#define _MUON_NSW_MMART_H_
6
7#include <stdint.h>
8#include <vector>
9#include <exception>
10
11
12namespace Muon
13{
14 namespace nsw
15 {
17 {
18 public:
19
20 MMARTPacket (std::vector<uint32_t>& payload);
21 virtual ~MMARTPacket () = default;
22 uint32_t art_BCID () const {return m_art_BCID;};
23 uint32_t art_pipeID () const {return m_art_pipeID;};
24 uint32_t art_fiberID () const {return m_art_fiberID;};
25 uint64_t art_VMMmap () const {return m_art_VMMmap;};
26 const std::vector<uint32_t>& art_ARTs () const {return m_art_ARTs;};
27 const std::vector<std::pair<uint8_t,uint16_t>>& channels () const {return m_channels;}
28
29 private:
30 uint32_t m_art_BCID;
31 uint32_t m_art_pipeID;
32 uint32_t m_art_fiberID;
33 uint64_t m_art_VMMmap;
34 //remember ART 7 is first, ART 0 is last!
35 std::vector<uint32_t> m_art_ARTs;
36 //processed values
37 std::vector< std::pair<uint8_t,uint16_t> > m_channels; //(layer,channel) //using this type since RDOs have already this struct
38
39 uint8_t getLayer () const {return (int)(m_art_fiberID/4.)+1 + (m_art_pipeID*2);};
40 std::vector<std::tuple<uint8_t,uint8_t,uint8_t>> VMMmapToHits ();
41
42 int getBoardPosition ( int board );
43 int getVMMChannelPosition ( int boardPosition, int vmm, int ch );
44
45 };
46 }
47}
48
49#endif // _MUON_NSW_MMART_H_
uint32_t art_fiberID() const
Definition MMARTPacket.h:24
std::vector< std::pair< uint8_t, uint16_t > > m_channels
Definition MMARTPacket.h:37
uint64_t art_VMMmap() const
Definition MMARTPacket.h:25
std::vector< std::tuple< uint8_t, uint8_t, uint8_t > > VMMmapToHits()
uint32_t art_BCID() const
Definition MMARTPacket.h:22
uint8_t getLayer() const
Definition MMARTPacket.h:39
const std::vector< uint32_t > & art_ARTs() const
Definition MMARTPacket.h:26
std::vector< uint32_t > m_art_ARTs
Definition MMARTPacket.h:35
MMARTPacket(std::vector< uint32_t > &payload)
int getBoardPosition(int board)
const std::vector< std::pair< uint8_t, uint16_t > > & channels() const
Definition MMARTPacket.h:27
uint32_t art_pipeID() const
Definition MMARTPacket.h:23
virtual ~MMARTPacket()=default
int getVMMChannelPosition(int boardPosition, int vmm, int ch)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.