Belle II Software development
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
14namespace 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;
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.
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
std::vector< unsigned int > getExtraWords() const
Returns additional event words.
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.