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
45public:
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
77
78#ifndef __CINT__
79 int Process(std::shared_ptr<TRawEvent>) override;
80#endif
81
82private:
83 int TdrToFragment(char* data, uint32_t size);
84
86};
87/*! @} */
88#endif
int TdrToFragment(char *data, uint32_t size)
int Process(std::shared_ptr< TRawEvent >) override
EDataParserState fState