Belle II Software  release-08-01-10
TOPProductionHitDebug.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/datastore/RelationsObject.h>
12 #include <vector>
13 
14 namespace Belle2 {
24  public:
25 
30  {}
31 
44  bool isOnHeap,
45  unsigned short logicWindow,
46  unsigned short physicalWindow,
47  bool isWindowStraddle = false,
48  bool isOnHeapStraddle = false,
49  unsigned short logicWindowStraddle = 0,
50  unsigned short physicalWindowStraddle = 0):
53  m_logicWindow(logicWindow),
54  m_physicalWindow(physicalWindow),
57  m_logicWindowStraddle(logicWindowStraddle),
58  m_physicalWindowStraddle(physicalWindowStraddle)
59  {
60  m_extraWords.clear();
61  }
62 
63 
68  bool hasWaveform() const { return m_hasWaveform; }
69 
74  bool isOnHeap() const { return m_isOnHeap; }
75 
76 
81  unsigned short getLogicWindow() const { return m_logicWindow; }
82 
87  unsigned short getPhysicalWindow() const { return m_physicalWindow; }
88 
93  bool isWindowStraddle() const { return m_isWindowStraddle; }
94 
95 
100  bool isOnHeapStraddle() const { return m_isOnHeapStraddle; }
101 
102 
107  unsigned short getLogicWindowStraddle() const { return m_logicWindowStraddle; }
108 
113  unsigned short getPhysicalWindowStraddle() const { return m_physicalWindowStraddle; }
114 
118  void appendExtraWord(unsigned int extraWord) { m_extraWords.push_back(extraWord); }
119 
124  std::vector<unsigned int> getExtraWords() const { return m_extraWords; }
125 
126 
127  private:
128  bool m_hasWaveform = false;
129  bool m_isOnHeap = false;
130  unsigned short m_logicWindow = 0;
131  unsigned short m_physicalWindow = 0;
132  bool m_isWindowStraddle = false;
133  bool m_isOnHeapStraddle = false;
134  unsigned short m_logicWindowStraddle =
135  0;
136  unsigned short m_physicalWindowStraddle =
137  0;
139  std::vector<unsigned int> m_extraWords;
143  };
144 
145 
147 } // end namespace Belle2
Defines interface for accessing relations of objects in StoreArray.
Class to store debugging information about the hit headers in the TOP production debugging raw data f...
bool isOnHeapStraddle() const
Returns isOnHeap flag for straddled window.
unsigned short getLogicWindow() const
Returns logic window address.
std::vector< unsigned int > getExtraWords() const
Returns additional event words.
unsigned short m_logicWindow
hit header logic window
unsigned short m_physicalWindow
hit header heap window
TOPProductionHitDebug()
Default constructor.
unsigned short m_logicWindowStraddle
hit header logic window for second half of waveform segment in case of straddling window
unsigned short getLogicWindowStraddle() const
Returns logic window address for straddled window.
TOPProductionHitDebug(bool hasWaveform, bool isOnHeap, unsigned short logicWindow, unsigned short physicalWindow, bool isWindowStraddle=false, bool isOnHeapStraddle=false, unsigned short logicWindowStraddle=0, unsigned short physicalWindowStraddle=0)
Full constructor.
bool m_hasWaveform
hit header waveform flag
unsigned short getPhysicalWindow() const
Returns physical window address.
unsigned short getPhysicalWindowStraddle() const
Returns physical window address for straddled window.
bool m_isOnHeapStraddle
hit header heap flag for second half of waveform segment in case of straddling window
bool hasWaveform() const
Returns hasWaveform flag.
std::vector< unsigned int > m_extraWords
additional event words
unsigned short m_physicalWindowStraddle
hit header heap window for second half of waveform segment in case of straddling window
void appendExtraWord(unsigned int extraWord)
Appends extra word to vector of additional event words.
bool isOnHeap() const
Returns isOnHeap flag.
bool isWindowStraddle() const
Returns isWindowStraddle flag showing if the hit was extracted from a window-straddling waveform.
bool m_isWindowStraddle
hit is from window-straddling waveform segment flag
bool m_isOnHeap
hit header heap flag
ClassDef(TOPProductionHitDebug, 1)
ClassDef.
Abstract base class for different kinds of events.