Belle II Software development
Bitstream.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#pragma once
9#include <TObject.h>
10
11#define MERGER_WIDTH 256
12#define NUM_MERGER 146
13//#define TSF_TO_2D_HALF_WIDTH 219 //210+9
14//#define TSF_TO_2D_WIDTH 429 //210*2+9
15#define TSF_TO_2D_HALF_WIDTH 324 //315+9
16#define TSF_TO_2D_WIDTH 639 //315*2+9
17#define NUM_2D 4
18#define NUM_TSF 5
19#define T2D_TO_3D_WIDTH 747
20#define NN_IN_WIDTH 982
21#define NN_WIDTH 2048
22#define NN_OUT_WIDTH 570
23//#define NN_OUT_WIDTH 709
24
25
26namespace Belle2 {
53 template <typename SignalBus>
54 class Bitstream : public TObject {
55 friend class CDCTriggerUnpackerModule;
56 friend struct Merger;
57 friend struct Tracker2D;
58 friend struct Neuro;
59 public:
62
64 explicit Bitstream(SignalBus bus) : m_signal(bus) {}
65
68
70 const SignalBus& signal()
71 {
72 return m_signal;
73 }
74
75 protected:
77 SignalBus m_signal;
78
81 };
82
84}
85
Class to hold one clock cycle of raw bit content.
Definition: Bitstream.h:54
~Bitstream()
destructor, empty because we don't allocate memory explicitly.
Definition: Bitstream.h:67
SignalBus m_signal
SignalBus of the Bitstream.
Definition: Bitstream.h:77
ClassDef(Bitstream, 4)
Needed to make the ROOT object storable.
const SignalBus & signal()
accessors
Definition: Bitstream.h:70
Bitstream()
default constructor
Definition: Bitstream.h:61
Bitstream(SignalBus bus)
constructor from Signal Bus
Definition: Bitstream.h:64
Unpack the trigger data recorded in B2L.
Abstract base class for different kinds of events.
unpacker for the merger reader (TSF which reads the merger output)
unpacker for the Neuro
unpacker for the 2D tracker