SND@LHC Software
Loading...
Searching...
No Matches
ShipTdcSource.h
Go to the documentation of this file.
1#ifndef ONLINE_SHIPTDCSOURCE_H
2#define ONLINE_SHIPTDCSOURCE_H
3
4#include <map>
5#include "FairOnlineSource.h"
6#include "TObjArray.h"
7#include "TFile.h"
8
9#include "FairUnpack.h"
10
11class FairEventHeader;
12
13class ShipTdcSource : public FairOnlineSource {
14public:
16 explicit ShipTdcSource(TString filename);
17 ShipTdcSource(const ShipTdcSource &source);
18 virtual ~ShipTdcSource();
19
20 virtual Bool_t Init();
21 virtual Int_t ReadEvent(UInt_t = 0); // Read frame by frame
22 virtual void Close();
23 void FillEventHeader(FairEventHeader *feh);
24 inline void AddUnpacker(uint16_t partitionId, FairUnpack *unpacker)
25 {
26 fUnpackerMap[partitionId] = unpacker;
27 fUnpackers->Add(unpacker);
28 }
29
30protected:
31 Bool_t Unpack(Int_t *data, Int_t size, uint16_t partitionId);
32 Int_t UnpackEventFrame(Int_t *data, Int_t total_size);
33 TFile *fIn;
34 unsigned char buffer[UINT16_MAX];
35 Double_t fEventTime = 0;
36 std::map<uint16_t, FairUnpack *> fUnpackerMap{};
37
38 TString fFilename;
39
40 ClassDef(ShipTdcSource, 1)
41};
42
43#endif
std::map< uint16_t, FairUnpack * > fUnpackerMap
void FillEventHeader(FairEventHeader *feh)
unsigned char buffer[UINT16_MAX]
virtual ~ShipTdcSource()
Double_t fEventTime
Bool_t Unpack(Int_t *data, Int_t size, uint16_t partitionId)
virtual void Close()
Int_t UnpackEventFrame(Int_t *data, Int_t total_size)
void AddUnpacker(uint16_t partitionId, FairUnpack *unpacker)
TString fFilename
virtual Int_t ReadEvent(UInt_t=0)
virtual Bool_t Init()