GRSISort
"v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TTdrDataParser.h
Go to the documentation of this file.
1
#ifndef TTDRDARAPARSER_H
2
#define TTDRDARAPARSER_H
3
4
/** \addtogroup Sorting
5
* @{
6
*/
7
8
/////////////////////////////////////////////////////////////////
9
///
10
/// \class TTdrDataParser
11
///
12
/// The TTdrDataParser is the DAQ dependent part of GRSISort.
13
/// It takes a "DAQ-dependent"-flavoured MIDAS 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 "
TGRSIOptions.h
"
41
#include "
TRawEvent.h
"
42
#include "
TTdrEvent.h
"
43
44
class
TTdrDataParser
:
public
TDataParser
{
45
public
:
46
TTdrDataParser
();
47
~TTdrDataParser
();
48
49
// ENUM(EBank, char, kWFDN,kGRF1,kGRF2,kGRF3,kFME0,kFME1,kFME2,kFME3);
50
enum class
EBank
{
kWFDN
= 0,
kGRF1
= 1,
kGRF2
= 2,
kGRF3
= 3,
kGRF4
= 4,
kFME0
= 5,
kFME1
= 6,
kFME2
= 7,
kFME3
= 8 };
51
52
enum class
EDataParserState
{
53
kGood
,
54
kBadHeader
,
55
kMissingWords
,
56
kBadScalerLowTS
,
57
kBadScalerValue
,
58
kBadScalerHighTS
,
59
kBadScalerType
,
60
kBadTriggerId
,
61
kBadLowTS
,
62
kBadHighTS
,
63
kSecondHeader
,
64
kWrongNofWords
,
65
kNotSingleCfd
,
66
kSizeMismatch
,
67
kBadFooter
,
68
kFault
,
69
kMissingPsd
,
70
kMissingCfd
,
71
kMissingCharge
,
72
kBadBank
,
73
kBadModuleType
,
74
kEndOfData
,
75
kUndefined
76
};
77
78
#ifndef __CINT__
79
int
Process
(std::shared_ptr<TRawEvent>)
override
;
80
#endif
81
82
private
:
83
int
TdrToFragment
(
char
* data, uint32_t size);
84
85
EDataParserState
fState
;
86
};
87
/*! @} */
88
#endif
Globals.h
TChannel.h
TDataParser.h
TEpicsFrag.h
TFragment.h
TFragmentMap.h
TGRSIOptions.h
TPPG.h
TRawEvent.h
TScaler.h
TTdrEvent.h
ThreadsafeQueue.h
TDataParser
Definition
TDataParser.h:42
TTdrDataParser
Definition
TTdrDataParser.h:44
TTdrDataParser::TdrToFragment
int TdrToFragment(char *data, uint32_t size)
Definition
TTdrDataParser.cxx:37
TTdrDataParser::EBank
EBank
Definition
TTdrDataParser.h:50
TTdrDataParser::EBank::kGRF1
@ kGRF1
TTdrDataParser::EBank::kGRF3
@ kGRF3
TTdrDataParser::EBank::kFME3
@ kFME3
TTdrDataParser::EBank::kFME0
@ kFME0
TTdrDataParser::EBank::kGRF2
@ kGRF2
TTdrDataParser::EBank::kWFDN
@ kWFDN
TTdrDataParser::EBank::kFME1
@ kFME1
TTdrDataParser::EBank::kFME2
@ kFME2
TTdrDataParser::EBank::kGRF4
@ kGRF4
TTdrDataParser::Process
int Process(std::shared_ptr< TRawEvent >) override
Definition
TTdrDataParser.cxx:27
TTdrDataParser::fState
EDataParserState fState
Definition
TTdrDataParser.h:85
TTdrDataParser::EDataParserState
EDataParserState
Definition
TTdrDataParser.h:52
TTdrDataParser::EDataParserState::kBadTriggerId
@ kBadTriggerId
TTdrDataParser::EDataParserState::kBadScalerLowTS
@ kBadScalerLowTS
TTdrDataParser::EDataParserState::kGood
@ kGood
TTdrDataParser::EDataParserState::kSizeMismatch
@ kSizeMismatch
TTdrDataParser::EDataParserState::kBadScalerHighTS
@ kBadScalerHighTS
TTdrDataParser::EDataParserState::kBadScalerType
@ kBadScalerType
TTdrDataParser::EDataParserState::kMissingCfd
@ kMissingCfd
TTdrDataParser::EDataParserState::kWrongNofWords
@ kWrongNofWords
TTdrDataParser::EDataParserState::kEndOfData
@ kEndOfData
TTdrDataParser::EDataParserState::kUndefined
@ kUndefined
TTdrDataParser::EDataParserState::kMissingPsd
@ kMissingPsd
TTdrDataParser::EDataParserState::kMissingWords
@ kMissingWords
TTdrDataParser::EDataParserState::kBadModuleType
@ kBadModuleType
TTdrDataParser::EDataParserState::kBadLowTS
@ kBadLowTS
TTdrDataParser::EDataParserState::kBadHeader
@ kBadHeader
TTdrDataParser::EDataParserState::kBadHighTS
@ kBadHighTS
TTdrDataParser::EDataParserState::kMissingCharge
@ kMissingCharge
TTdrDataParser::EDataParserState::kFault
@ kFault
TTdrDataParser::EDataParserState::kSecondHeader
@ kSecondHeader
TTdrDataParser::EDataParserState::kNotSingleCfd
@ kNotSingleCfd
TTdrDataParser::EDataParserState::kBadBank
@ kBadBank
TTdrDataParser::EDataParserState::kBadFooter
@ kBadFooter
TTdrDataParser::EDataParserState::kBadScalerValue
@ kBadScalerValue
TTdrDataParser::~TTdrDataParser
~TTdrDataParser()
Definition
TTdrDataParser.cxx:23
TTdrDataParser::TTdrDataParser
TTdrDataParser()
Definition
TTdrDataParser.cxx:17
iThembaData
include
TTdrDataParser.h
GRSISort ("v4.0.0.5") Reference Guide Generated on Mon Feb 3 2025 16:38:05.