ATLAS Offline Software
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 
12 namespace 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:
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_
Muon::nsw::MMARTPacket::m_art_ARTs
std::vector< uint32_t > m_art_ARTs
Definition: MMARTPacket.h:35
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
Muon::nsw::MMARTPacket::~MMARTPacket
virtual ~MMARTPacket()=default
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Muon::nsw::MMARTPacket::m_art_VMMmap
uint64_t m_art_VMMmap
Definition: MMARTPacket.h:33
Muon::nsw::MMARTPacket
Definition: MMARTPacket.h:17
Muon::nsw::MMARTPacket::getBoardPosition
int getBoardPosition(int board)
Definition: MMARTPacket.cxx:67
Muon::nsw::MMARTPacket::getVMMChannelPosition
int getVMMChannelPosition(int boardPosition, int vmm, int ch)
Definition: MMARTPacket.cxx:106
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::nsw::MMARTPacket::m_art_fiberID
uint32_t m_art_fiberID
Definition: MMARTPacket.h:32
Muon::nsw::MMARTPacket::m_channels
std::vector< std::pair< uint8_t, uint16_t > > m_channels
Definition: MMARTPacket.h:37
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
Muon::nsw::MMARTPacket::art_fiberID
uint32_t art_fiberID() const
Definition: MMARTPacket.h:24
Muon::nsw::MMARTPacket::art_VMMmap
uint64_t art_VMMmap() const
Definition: MMARTPacket.h:25
Muon::nsw::MMARTPacket::art_pipeID
uint32_t art_pipeID() const
Definition: MMARTPacket.h:23
Muon::nsw::MMARTPacket::art_BCID
uint32_t art_BCID() const
Definition: MMARTPacket.h:22
PixelModuleFeMask_create_db.payload
string payload
Definition: PixelModuleFeMask_create_db.py:69
Muon::nsw::MMARTPacket::art_ARTs
const std::vector< uint32_t > & art_ARTs() const
Definition: MMARTPacket.h:26
Muon::nsw::MMARTPacket::m_art_pipeID
uint32_t m_art_pipeID
Definition: MMARTPacket.h:31
Muon::nsw::MMARTPacket::MMARTPacket
MMARTPacket(std::vector< uint32_t > &payload)
Definition: MMARTPacket.cxx:15
Muon::nsw::MMARTPacket::channels
const std::vector< std::pair< uint8_t, uint16_t > > & channels() const
Definition: MMARTPacket.h:27
Muon::nsw::MMARTPacket::m_art_BCID
uint32_t m_art_BCID
Definition: MMARTPacket.h:30
Muon::nsw::MMARTPacket::getLayer
uint8_t getLayer() const
Definition: MMARTPacket.h:39
Muon::nsw::MMARTPacket::VMMmapToHits
std::vector< std::tuple< uint8_t, uint8_t, uint8_t > > VMMmapToHits()
Definition: MMARTPacket.cxx:45