Belle II Software development
RawTrailer_v2.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#ifndef RAWTRAILER_V2_H
10#define RAWTRAILER_V2_H
11
12#include <stdio.h>
13
14#include <rawdata/switch_basf2_standalone.h>
15
16//#define TRAILER_SIZE 16
17/* #define POS_CHKSUM 0 */
18/* #define POS_TERM_WORD 1 */
19/* #define RAWCOPPER_TRAILER_SIZE 2 */
20/* #define MAGIC_WORD_TERM_TRAILER 0x7fff0006 */
21
22namespace Belle2 {
33 // class RawTrailer_v2 : public TObject {
35 public:
38
41
43 void CheckBuffer();
44
45 int* GetBuffer();
46
47 void SetBuffer(int* bufin);
48
49 void Initialize();
50
51 void SetChksum(int chksum);
52
53 void SetMagicWord();
54
55 int GetTrlNwords();
56
57 unsigned int GetChksum();
58
59 int GetMagicWord();
60
61 enum {
62 RAWTRAILER_NWORDS = 2
63 };
64
65 enum {
66 MAGIC_WORD_TERM_TRAILER = 0x7fff0006
67 };
68
69 enum {
70 POS_CHKSUM = 0,
71 POS_TERM_WORD = 1
72 };
73
74 private:
76 int* m_buffer;
77
79 // ver.2 Do not record m_buffer pointer. (Dec.19, 2014)
80 // ClassDef(RawTrailer_v2, 1);
81 };
82
83
85 {
86 if (m_buffer == NULL) {
87 B2FATAL("m_buffer is NULL. Exiting...");
88 }
89 }
90
92 {
93 return m_buffer;
94 }
95
96 inline void RawTrailer_v2::SetBuffer(int* bufin)
97 {
98 m_buffer = bufin;
99 }
100
102 {
103 SetMagicWord();
104 }
105
106 inline void RawTrailer_v2::SetChksum(int chksum)
107 {
108 CheckBuffer();
109 m_buffer[ POS_CHKSUM ] = chksum;
110 }
111
113 {
114 CheckBuffer();
115 m_buffer[ POS_TERM_WORD ] = MAGIC_WORD_TERM_TRAILER;
116 }
117
119 {
120 CheckBuffer();
121 return m_buffer[ POS_TERM_WORD ];
122 }
123
124 inline unsigned int RawTrailer_v2::GetChksum()
125 {
126 CheckBuffer();
127 return (unsigned int)(m_buffer[ POS_CHKSUM ]);
128 }
129
131 {
132 return RAWTRAILER_NWORDS;
133 }
134
135
136
137
139}
140
141#endif
The Raw Trailer class ver.1 ( the latest version since May, 2014 ) This class defines the format of t...
Definition: RawTrailer_v2.h:34
RawTrailer_v2()
Default constructor.
int * m_buffer
do not record buffer ( RawCOPPER includes buffer of RawHeader and RawTrailer_v2 )
Definition: RawTrailer_v2.h:76
~RawTrailer_v2()
Destructor.
void CheckBuffer()
set buffer
Definition: RawTrailer_v2.h:84
int GetTrlNwords()
Set magic word.
int GetMagicWord()
initialize header
unsigned int GetChksum()
Set # of trailer words.
void SetMagicWord()
initialize header
void SetBuffer(int *bufin)
return buffer
Definition: RawTrailer_v2.h:96
void SetChksum(int chksum)
set buffer
void Initialize()
set buffer
int * GetBuffer()
set buffer
Definition: RawTrailer_v2.h:91
Abstract base class for different kinds of events.