ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_RawData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ALFA_RAWDATA_H
6#define ALFA_RAWDATA_H
7
8#include<stdint.h>
9#include<vector>
10#include <iostream>
11
12
17
18class MsgStream;
19
21{
22 public:
23
24 // Default constructor
26
27 // Full constructor
28 ALFA_RawData(uint16_t PMF_number);
29
31
32 // set data members
33
34 void SetWordId_PMF(uint16_t Word_number);
35 void SetPMFId_PMF(uint16_t PMF_number);
36 void SetMBId_PMF(uint16_t MB_number);
37 void SetEventCount_PMF(uint32_t Event_number);
38 void SetMarocChan_PMF(const std::vector<uint16_t>& MarocChan);
39 void PushBack_PMF(uint16_t fiber_hit);
40 void Set_error_bit17(bool bit);
41
42 void SetZero_PMF();
43
44
45 // Add a data word to the vector
46 void addData(uint32_t dataWord); // from MUON to test
47
48 // Methods to retrieve the decoded word content
49
50 uint16_t GetWordId_PMF() const {return m_WordId;};
51 uint16_t GetPMFId_PMF() const {return m_PMFId;};
52 uint16_t GetMBId_PMF() const {return m_MBId;};
53 uint32_t GetEventCount_PMF() const {return m_EventCount;};
54 const std::vector<uint16_t>& GetMarocHit() const {return m_MarocChan;};
55 uint32_t Get_Chan(uint16_t Numchan) const {return m_MarocChan[Numchan];}; // used in SaraPkg
56 uint32_t GetSize() const {return m_MarocChan.size();};
57 uint16_t Get_bit26_27() const {return m_bit26_27;};
58 uint16_t Get_bit24_27() const {return m_bit24_27;};
59 bool Get_bit16() const {return m_bit16;};
60 bool Get_bit18() const {return m_bit18;};
61 bool Get_error_bit17() const {return m_error_bit17;};
62
63 // Vector containing all 16 bits data words (undecoded)
64 const std::vector<uint16_t>& HitChan() const {return m_MarocChan;}
65
66 // Vector containing all 32 bits data words (undecoded) : from the Muon BSC-> to test the structure
67 const std::vector<uint32_t>* dataWords() const {return &m_dataWords;}
68
69 private:
70
71 // Data info TSM:
72 uint16_t m_WordId;
73 uint16_t m_PMFId;
74 uint16_t m_MBId;
75 uint32_t m_EventCount;
76 std::vector<uint16_t> m_MarocChan; // sostituisce il p_hit di prima
77 bool m_bit16;
78 bool m_bit18;
80 uint16_t m_bit26_27;
81 uint16_t m_bit24_27;
82
83 // All the datawords (no headers and footers) coming from this channel
84 // to be decoded on demand using ALFA_ReadOut methods
85 std::vector<uint32_t> m_dataWords;
86
87};
88#endif // ALFA_RAWDATA_H
89
90
uint16_t Get_bit26_27() const
void SetPMFId_PMF(uint16_t PMF_number)
uint16_t GetPMFId_PMF() const
const std::vector< uint16_t > & GetMarocHit() const
void SetMarocChan_PMF(const std::vector< uint16_t > &MarocChan)
void Set_error_bit17(bool bit)
std::vector< uint32_t > m_dataWords
uint16_t GetMBId_PMF() const
const std::vector< uint16_t > & HitChan() const
void addData(uint32_t dataWord)
uint32_t GetSize() const
void SetWordId_PMF(uint16_t Word_number)
uint32_t GetEventCount_PMF() const
uint32_t Get_Chan(uint16_t Numchan) const
void SetEventCount_PMF(uint32_t Event_number)
std::vector< uint16_t > m_MarocChan
uint16_t GetWordId_PMF() const
uint32_t m_EventCount
uint16_t m_MBId
bool Get_bit18() const
const std::vector< uint32_t > * dataWords() const
void PushBack_PMF(uint16_t fiber_hit)
uint16_t m_WordId
uint16_t Get_bit24_27() const
bool Get_bit16() const
uint16_t m_PMFId
uint16_t m_bit24_27
bool Get_error_bit17() const
uint16_t m_bit26_27
void SetMBId_PMF(uint16_t MB_number)