GRSISort
"v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
THILDataParser.h
Go to the documentation of this file.
1
#ifndef THILDARAPARSER_H
2
#define THILDARAPARSER_H
3
4
/** \addtogroup Sorting
5
* @{
6
*/
7
8
/////////////////////////////////////////////////////////////////
9
///
10
/// \class THILDataParser
11
///
12
/// The THILDataParser is the DAQ dependent part of GRSISort.
13
/// It takes a "DAQ-dependent"-flavoured LMD file and
14
/// converts it into a generic TFragment that the rest of
15
/// GRSISort can deal with. This is where event word masks
16
/// are applied, and any changes to the event format must
17
/// be implemented.
18
///
19
/////////////////////////////////////////////////////////////////
20
21
#include "
Globals.h
"
22
#include <ctime>
23
#include <sstream>
24
#include <vector>
25
#include <map>
26
#include <limits>
27
28
#ifndef __CINT__
29
#include <memory>
30
#endif
31
32
#include "
TDataParser.h
"
33
#include "
TChannel.h
"
34
#include "
TFragment.h
"
35
#include "
TPPG.h
"
36
#include "
TScaler.h
"
37
#include "
TFragmentMap.h
"
38
#include "
ThreadsafeQueue.h
"
39
#include "
TEpicsFrag.h
"
40
#include "
TRawEvent.h
"
41
#include "
TRlmdEvent.h
"
42
43
class
THILDataParser
:
public
TDataParser
{
44
public
:
45
THILDataParser
();
46
~THILDataParser
();
47
48
// ENUM(EBank, char, kWFDN,kGRF1,kGRF2,kGRF3,kFME0,kFME1,kFME2,kFME3);
49
enum class
EBank
{
kWFDN
= 0,
kGRF1
= 1,
kGRF2
= 2,
kGRF3
= 3,
kGRF4
= 4,
kFME0
= 5,
kFME1
= 6,
kFME2
= 7,
kFME3
= 8 };
50
51
enum class
EDigitizer
{
52
kV1751
= 1,
53
kV1724
= 2,
54
kV1730_PSD
= 3,
55
kV1730_PHA
= 4,
56
kV1725_PHA
= 7,
57
kV1725_PSD
= 8
58
};
59
60
enum class
EDataParserState
{
61
kGood
,
62
kOddUsedLength
,
63
kWrongBufferType
,
64
kZeroEventLength
,
65
kOddEventLength
,
66
kWrongEventLength
,
67
kWrongUsPattern
,
68
kWrongGeHPPattern
,
69
kWrongGeEnPattern
,
70
kWrongGeTimePattern
,
71
kWrongSi1HPPattern
,
72
kWrongSi1EnPattern
,
73
kWrongSi2HPPattern
,
74
kWrongSi2EnPattern
,
75
kWrongSi3HPPattern
,
76
kWrongSi3EnPattern
,
77
kWrongEventId
,
78
kUndefined
79
};
80
81
#ifndef __CINT__
82
int
Process
(std::shared_ptr<TRawEvent>)
override
;
83
#endif
84
85
private
:
86
uint16_t
ByteSwap
(
const
uint16_t& val) {
87
return
((val&0xff) << 8) | ((val&0xff00) >> 8);
88
}
89
90
int
EagleEventToFragment
(uint32_t size, uint16_t* data);
91
92
EDataParserState
fState
;
93
};
94
/*! @} */
95
#endif
Globals.h
TChannel.h
TDataParser.h
TEpicsFrag.h
TFragment.h
TFragmentMap.h
TPPG.h
TRawEvent.h
TRlmdEvent.h
TScaler.h
ThreadsafeQueue.h
TDataParser
Definition
TDataParser.h:42
THILDataParser
Definition
THILDataParser.h:43
THILDataParser::EBank
EBank
Definition
THILDataParser.h:49
THILDataParser::EBank::kGRF1
@ kGRF1
THILDataParser::EBank::kGRF3
@ kGRF3
THILDataParser::EBank::kFME3
@ kFME3
THILDataParser::EBank::kFME0
@ kFME0
THILDataParser::EBank::kGRF2
@ kGRF2
THILDataParser::EBank::kWFDN
@ kWFDN
THILDataParser::EBank::kFME1
@ kFME1
THILDataParser::EBank::kFME2
@ kFME2
THILDataParser::EBank::kGRF4
@ kGRF4
THILDataParser::fState
EDataParserState fState
Definition
THILDataParser.h:92
THILDataParser::EDataParserState
EDataParserState
Definition
THILDataParser.h:60
THILDataParser::EDataParserState::kWrongSi1HPPattern
@ kWrongSi1HPPattern
THILDataParser::EDataParserState::kWrongGeTimePattern
@ kWrongGeTimePattern
THILDataParser::EDataParserState::kGood
@ kGood
THILDataParser::EDataParserState::kWrongUsPattern
@ kWrongUsPattern
THILDataParser::EDataParserState::kWrongGeHPPattern
@ kWrongGeHPPattern
THILDataParser::EDataParserState::kWrongSi1EnPattern
@ kWrongSi1EnPattern
THILDataParser::EDataParserState::kUndefined
@ kUndefined
THILDataParser::EDataParserState::kZeroEventLength
@ kZeroEventLength
THILDataParser::EDataParserState::kWrongEventId
@ kWrongEventId
THILDataParser::EDataParserState::kWrongEventLength
@ kWrongEventLength
THILDataParser::EDataParserState::kWrongBufferType
@ kWrongBufferType
THILDataParser::EDataParserState::kOddUsedLength
@ kOddUsedLength
THILDataParser::EDataParserState::kWrongSi2HPPattern
@ kWrongSi2HPPattern
THILDataParser::EDataParserState::kWrongSi3HPPattern
@ kWrongSi3HPPattern
THILDataParser::EDataParserState::kOddEventLength
@ kOddEventLength
THILDataParser::EDataParserState::kWrongGeEnPattern
@ kWrongGeEnPattern
THILDataParser::EDataParserState::kWrongSi3EnPattern
@ kWrongSi3EnPattern
THILDataParser::EDataParserState::kWrongSi2EnPattern
@ kWrongSi2EnPattern
THILDataParser::ByteSwap
uint16_t ByteSwap(const uint16_t &val)
Definition
THILDataParser.h:86
THILDataParser::~THILDataParser
~THILDataParser()
Definition
THILDataParser.cxx:25
THILDataParser::EagleEventToFragment
int EagleEventToFragment(uint32_t size, uint16_t *data)
Definition
THILDataParser.cxx:59
THILDataParser::Process
int Process(std::shared_ptr< TRawEvent >) override
Definition
THILDataParser.cxx:29
THILDataParser::THILDataParser
THILDataParser()
Definition
THILDataParser.cxx:19
THILDataParser::EDigitizer
EDigitizer
Definition
THILDataParser.h:51
THILDataParser::EDigitizer::kV1730_PSD
@ kV1730_PSD
THILDataParser::EDigitizer::kV1725_PHA
@ kV1725_PHA
THILDataParser::EDigitizer::kV1730_PHA
@ kV1730_PHA
THILDataParser::EDigitizer::kV1725_PSD
@ kV1725_PSD
THILDataParser::EDigitizer::kV1724
@ kV1724
THILDataParser::EDigitizer::kV1751
@ kV1751
HILData
include
THILDataParser.h
GRSISort ("v4.0.0.5") Reference Guide Generated on Mon Feb 3 2025 16:38:04.