Belle II Software  release-05-01-25
TOPInterimFEInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/datastore/RelationsObject.h>
14 
15 namespace Belle2 {
25  class TOPInterimFEInfo : public RelationsObject {
26  public:
27 
31  enum ErrorFlags {c_InvalidFEHeader = 0x0001,
32  c_DifferentScrodIDs = 0x0002,
33  c_InvalidMagicWord = 0x0004,
34  c_DifferentCarriers = 0x0008,
35  c_DifferentAsics = 0x0010,
36  c_DifferentChannels = 0x0020,
37  c_DifferentWindows = 0x0040,
38  c_InsufficientWFData = 0x0080,
39  c_InvalidScrodID = 0x0100
40  };
41 
46  {}
47 
53  TOPInterimFEInfo(unsigned short scrodID, int dataSize):
54  m_scrodID(scrodID), m_dataSize(dataSize)
55  {}
56 
61 
66 
71 
76  void setErrorFlag(ErrorFlags flag) {m_errorFlags |= flag;}
77 
82  unsigned getScrodID() const {return m_scrodID;}
83 
88  int getDataSize() const {return m_dataSize;}
89 
94  unsigned getFEHeadersCount() const {return m_FEHeaders;}
95 
100  unsigned getEmptyFEHeadersCount() const {return m_emptyFEHeaders;}
101 
106  unsigned getWaveformsCount() const {return m_waveforms;}
107 
112  unsigned getErrorFlags() const {return m_errorFlags;}
113 
119  bool isErrorBitSet(ErrorFlags flag) const {return (m_errorFlags & flag) == flag;}
120 
121  private:
122 
123  unsigned short m_scrodID = 0;
124  int m_dataSize = 0;
125  unsigned m_FEHeaders = 0;
126  unsigned m_emptyFEHeaders = 0;
127  unsigned m_waveforms = 0;
128  unsigned m_errorFlags = 0;
133  };
134 
136 }
Belle2::TOPInterimFEInfo::c_DifferentChannels
@ c_DifferentChannels
in FE and WF header
Definition: TOPInterimFEInfo.h:44
Belle2::TOPInterimFEInfo::getFEHeadersCount
unsigned getFEHeadersCount() const
Returns the number of FE headers found in data buffer.
Definition: TOPInterimFEInfo.h:102
Belle2::TOPInterimFEInfo::m_waveforms
unsigned m_waveforms
number of waveforms in data buffer
Definition: TOPInterimFEInfo.h:135
Belle2::TOPInterimFEInfo::m_scrodID
unsigned short m_scrodID
SCROD ID.
Definition: TOPInterimFEInfo.h:131
Belle2::TOPInterimFEInfo::getEmptyFEHeadersCount
unsigned getEmptyFEHeadersCount() const
Returns the number of empty FE headers found in data buffer.
Definition: TOPInterimFEInfo.h:108
Belle2::TOPInterimFEInfo::c_DifferentAsics
@ c_DifferentAsics
in FE and WF header
Definition: TOPInterimFEInfo.h:43
Belle2::TOPInterimFEInfo::isErrorBitSet
bool isErrorBitSet(ErrorFlags flag) const
Returns true if particular error flag is set.
Definition: TOPInterimFEInfo.h:127
Belle2::TOPInterimFEInfo::ErrorFlags
ErrorFlags
Error flags.
Definition: TOPInterimFEInfo.h:39
Belle2::TOPInterimFEInfo::incrementWaveformsCount
void incrementWaveformsCount()
Increments waveforms counter.
Definition: TOPInterimFEInfo.h:78
Belle2::TOPInterimFEInfo::c_InvalidScrodID
@ c_InvalidScrodID
no front-end map available
Definition: TOPInterimFEInfo.h:47
Belle2::TOPInterimFEInfo::m_FEHeaders
unsigned m_FEHeaders
number of FE headers in data buffer
Definition: TOPInterimFEInfo.h:133
Belle2::TOPInterimFEInfo::c_DifferentWindows
@ c_DifferentWindows
in FE and WF header
Definition: TOPInterimFEInfo.h:45
Belle2::TOPInterimFEInfo::m_emptyFEHeaders
unsigned m_emptyFEHeaders
number of empty FE headers in data buffer
Definition: TOPInterimFEInfo.h:134
Belle2::TOPInterimFEInfo
Class to store debug info of raw data in Interim FE format.
Definition: TOPInterimFEInfo.h:33
Belle2::TOPInterimFEInfo::c_DifferentScrodIDs
@ c_DifferentScrodIDs
in HLSB and FE header
Definition: TOPInterimFEInfo.h:40
Belle2::TOPInterimFEInfo::getDataSize
int getDataSize() const
Returns data buffer size.
Definition: TOPInterimFEInfo.h:96
Belle2::TOPInterimFEInfo::c_InvalidFEHeader
@ c_InvalidFEHeader
invalid FE header word
Definition: TOPInterimFEInfo.h:39
Belle2::TOPInterimFEInfo::getErrorFlags
unsigned getErrorFlags() const
Returns error flags.
Definition: TOPInterimFEInfo.h:120
Belle2::TOPInterimFEInfo::m_errorFlags
unsigned m_errorFlags
error flags, see enum
Definition: TOPInterimFEInfo.h:136
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPInterimFEInfo::c_InsufficientWFData
@ c_InsufficientWFData
too few words for waveform data
Definition: TOPInterimFEInfo.h:46
Belle2::TOPInterimFEInfo::c_InvalidMagicWord
@ c_InvalidMagicWord
at the end of FE header
Definition: TOPInterimFEInfo.h:41
Belle2::TOPInterimFEInfo::setErrorFlag
void setErrorFlag(ErrorFlags flag)
Sets error flag.
Definition: TOPInterimFEInfo.h:84
Belle2::TOPInterimFEInfo::incrementFEHeadersCount
void incrementFEHeadersCount()
Increments FE headers counter.
Definition: TOPInterimFEInfo.h:68
Belle2::TOPInterimFEInfo::TOPInterimFEInfo
TOPInterimFEInfo()
Default constructor.
Definition: TOPInterimFEInfo.h:53
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::TOPInterimFEInfo::m_dataSize
int m_dataSize
data buffer size [32-bit words]
Definition: TOPInterimFEInfo.h:132
Belle2::TOPInterimFEInfo::incrementEmptyFEHeadersCount
void incrementEmptyFEHeadersCount()
Increments empty FE headers counter.
Definition: TOPInterimFEInfo.h:73
Belle2::TOPInterimFEInfo::getWaveformsCount
unsigned getWaveformsCount() const
Returns the number of waveforms found in data buffer.
Definition: TOPInterimFEInfo.h:114
Belle2::TOPInterimFEInfo::c_DifferentCarriers
@ c_DifferentCarriers
in FE and WF header
Definition: TOPInterimFEInfo.h:42
Belle2::TOPInterimFEInfo::getScrodID
unsigned getScrodID() const
Returns SCROD ID.
Definition: TOPInterimFEInfo.h:90
Belle2::TOPInterimFEInfo::ClassDef
ClassDef(TOPInterimFEInfo, 1)
ClassDef.