BmnRoot
Loading...
Searching...
No Matches
BmnDecoSource.h
Go to the documentation of this file.
1#ifndef BMNDECOSOURCE_H
2#define BMNDECOSOURCE_H
3
4#include <cstring>
5#include <iostream>
6#include <string>
7#include <vector>
8#include <zmq.h>
9// ROOT
10#include "TChain.h"
11#include "TString.h"
12
13#include <TBufferFile.h>
14// FairRoot
15#include "FairEventHeader.h"
16#include "FairOnlineSource.h"
17#include "FairRootFileSink.h"
18#include "FairRootManager.h"
19#include "FairRunAna.h"
20// BmnRoot
21#include "BmnEnums.h"
22#include "BmnEventHeader.h"
23#include "DigiArrays.h"
24
25using std::string;
26using std::vector;
27
28class BmnDecoSource : public FairOnlineSource
29{
30 public:
31 BmnDecoSource(TString addr = "tcp://localhost:5555", Int_t periodId = 9);
32 virtual ~BmnDecoSource();
33
34 Bool_t Init();
35 Int_t ReadEvent(UInt_t i = 0);
36 void Close();
37 // void Reset();
38 // void FillEventHeader(FairEventHeader* feh);
39 virtual Int_t CheckMaxEventNo(Int_t end_ev) { return end_ev; }
40 FairRunAna* GetRunInstance() { return fRunInst; }
41 void SetRunInstance(FairRunAna* run) { fRunInst = run; }
42 uint32_t GetPeriodId() { return fPeriodId; }
43
44 private:
45 TString GetDstNameFromRunId(Int_t runId)
46 {
47 TString name(Form("bmn_run%d_dst.root", runId));
48 return name;
49 }
50 FairRunAna* fRunInst;
51 zmq_msg_t _msg;
52 TBufferFile* _tBuf;
53 void* _ctx;
54 void* _decoSocket;
55 TString _addrString;
56 DigiArrays* fDigiArrays;
57
58 Bool_t fFirstEvent;
59
60 // uint32_t fRunId;
61 uint32_t fPeriodId;
62
63 Int_t iEventNumber;
64 Int_t iT0BranchIndex;
65 BmnEventHeader* fEventHeader;
66 TClonesArray* fGemDigits;
67 TClonesArray* fVspDigits;
68 TClonesArray* fSilDigits;
69 TClonesArray* fSiBTDigits;
70 TClonesArray* fCscDigits;
71 TClonesArray* fTof400Digits;
72 TClonesArray* fTof700Digits;
73 vector<TClonesArray*> fT0Digits;
74 // TClonesArray* fT0Digits;
75 bool fInitDone;
76 const Int_t TimeDelta = 50000; // sleep micro seconds
77
78 ClassDef(BmnDecoSource, 1);
79};
80
81#endif /* BMNDECOSOURCE_H */
int i
Definition P4_F32vec4.h:22
Int_t ReadEvent(UInt_t i=0)
BmnDecoSource(TString addr="tcp://localhost:5555", Int_t periodId=9)
FairRunAna * GetRunInstance()
uint32_t GetPeriodId()
virtual ~BmnDecoSource()
virtual Int_t CheckMaxEventNo(Int_t end_ev)
void SetRunInstance(FairRunAna *run)
Bool_t Init()
Define enumerations used in tracking.
-clang-format