Belle II Software  release-05-01-25
RawTrailer_v1.h
1 //+
2 // File : RawTrailer_v1.cc
3 // Description : Module to handle RawTraeiler attached to raw data from COPPER
4 //
5 // Author : Satoru Yamada, IPNS, KEK
6 // Date : 2 - Aug - 2013
7 //-
8 
9 #ifndef RAWTRAILER_V1_H
10 #define RAWTRAILER_V1_H
11 
12 #include <stdio.h>
13 #include <rawdata/switch_basf2_standalone.h>
14 
15 /* #include <framework/datastore/DataStore.h> */
16 /* #include <TObject.h> */
17 
18 //#define TRAILER_SIZE 16
19 /* #define POS_CHKSUM 0 */
20 /* #define POS_TERM_WORD 1 */
21 /* #define RAWCOPPER_TRAILER_SIZE 2 */
22 /* #define MAGIC_WORD_TERM_TRAILER 0x7fff0006 */
23 
24 namespace Belle2 {
35  // class RawTrailer_v1 : public TObject {
36  class RawTrailer_v1 {
37  public:
39  RawTrailer_v1();
40 
43 
45  void CheckBuffer();
46 
47  int* GetBuffer();
48 
49  void SetBuffer(int* bufin);
50 
51  void Initialize();
52 
53  void SetChksum(int chksum);
54 
55  void SetMagicWord();
56 
57  int GetTrlNwords();
58 
59  unsigned int GetChksum();
60 
61  int GetMagicWord();
62 
63  enum {
64  RAWTRAILER_NWORDS = 2
65  };
66 
67  enum {
68  MAGIC_WORD_TERM_TRAILER = 0x7fff0006
69  };
70 
71  enum {
72  POS_CHKSUM = 0,
73  POS_TERM_WORD = 1
74  };
75 
76  private:
78  int* m_buffer;
79 
81  // ver.2 Do not record m_buffer pointer. (Dec.19, 2014)
82  // ClassDef(RawTrailer_v1, 1);
83  };
84 
85 
87  {
88  if (m_buffer == NULL) {
89  B2FATAL("m_buffer is NULL. Exiting...");
90  }
91  }
92 
94  {
95  return m_buffer;
96  }
97 
98  inline void RawTrailer_v1::SetBuffer(int* bufin)
99  {
100  m_buffer = bufin;
101  }
102 
104  {
105  SetMagicWord();
106  }
107 
108  inline void RawTrailer_v1::SetChksum(int chksum)
109  {
110  CheckBuffer();
111  m_buffer[ POS_CHKSUM ] = chksum;
112  }
113 
115  {
116  CheckBuffer();
117  m_buffer[ POS_TERM_WORD ] = MAGIC_WORD_TERM_TRAILER;
118  }
119 
121  {
122  CheckBuffer();
123  return m_buffer[ POS_TERM_WORD ];
124  }
125 
126  inline unsigned int RawTrailer_v1::GetChksum()
127  {
128  CheckBuffer();
129  return (unsigned int)(m_buffer[ POS_CHKSUM ]);
130  }
131 
133  {
134  return RAWTRAILER_NWORDS;
135  }
136 
137 
138 
139 
141 }
142 
143 #endif
Belle2::RawTrailer_v1::GetBuffer
int * GetBuffer()
set buffer
Definition: RawTrailer_v1.h:93
Belle2::RawTrailer_v1::~RawTrailer_v1
~RawTrailer_v1()
Destructor.
Definition: RawTrailer_v1.cc:20
Belle2::RawTrailer_v1::CheckBuffer
void CheckBuffer()
set buffer
Definition: RawTrailer_v1.h:86
Belle2::RawTrailer_v1::GetChksum
unsigned int GetChksum()
Set # of trailer words.
Definition: RawTrailer_v1.h:126
Belle2::RawTrailer_v1::SetBuffer
void SetBuffer(int *bufin)
return buffer
Definition: RawTrailer_v1.h:98
Belle2::RawTrailer_v1::GetTrlNwords
int GetTrlNwords()
Set magic word.
Definition: RawTrailer_v1.h:132
Belle2::RawTrailer_v1::RawTrailer_v1
RawTrailer_v1()
Default constructor.
Definition: RawTrailer_v1.cc:15
Belle2::RawTrailer_v1::GetMagicWord
int GetMagicWord()
initialize header
Definition: RawTrailer_v1.h:120
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RawTrailer_v1::SetChksum
void SetChksum(int chksum)
set buffer
Definition: RawTrailer_v1.h:108
Belle2::RawTrailer_v1::m_buffer
int * m_buffer
do not record buffer ( RawCOPPER includes buffer of RawHeader and RawTrailer_v1 )
Definition: RawTrailer_v1.h:78
Belle2::RawTrailer_v1::Initialize
void Initialize()
set buffer
Definition: RawTrailer_v1.h:103
Belle2::RawTrailer_v1::SetMagicWord
void SetMagicWord()
initialize header
Definition: RawTrailer_v1.h:114
Belle2::RawTrailer_v1
The Raw Trailer class ver.1 ( the latest version since May, 2014 ) This class defines the format of t...
Definition: RawTrailer_v1.h:36