BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnMQSource.h
Go to the documentation of this file.
1
#ifndef BMNMQSOURCE_H
2
#define BMNMQSOURCE_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 "FairRootManager.h"
18
#include "FairRunAna.h"
19
// BmnRoot
20
#include "
BmnEnums.h
"
21
#include "
BmnEventHeader.h
"
22
#include "
BmnParts.h
"
23
#include "
CbmVertex.h
"
24
#include "
DstEventHeader.h
"
25
26
class
BmnMQSource
:
public
FairOnlineSource
27
{
28
public
:
29
BmnMQSource
(std::string addr =
"tcp://localhost:6666"
,
Bool_t
toFile =
kFALSE
);
30
virtual
~BmnMQSource
();
31
32
Bool_t
Init
();
33
Int_t
ReadEvent
(
UInt_t
i
= 0);
34
void
Close
();
35
// void Reset();
36
void
FillEventHeader
(
FairEventHeader
* feh);
37
virtual
Int_t
CheckMaxEventNo
(
Int_t
end_ev) {
return
end_ev; }
38
FairRunAna*
GetRunInstance
() {
return
fRunInst
; }
39
void
SetRunInstance
(FairRunAna* run) {
fRunInst
= run; }
40
41
uint32_t
GetPeriodId
() {
return
fPeriodId
; }
42
43
private
:
44
TString
GetDstNameFromRunId
(
Int_t
runId)
45
{
46
TString
name(
Form
(
"bmn_run%d_dst.root"
, runId));
47
return
name;
48
}
49
Bool_t
InitZMQ
();
50
FairRunAna*
fRunInst
;
51
zmq_msg_t
_msg
;
52
TBufferFile
*
_tBuf
;
53
void
*
_ctx
;
54
void
*
_decoSocket
;
55
std::string
_addrString
;
56
std::vector<TNamed*>
fNamVec
;
57
std::vector<TClonesArray*>
fArrVec
;
58
59
const
Int_t
TimeDelta
= 50000;
// sleep micro seconds
60
Bool_t
fFirstEvent
;
61
Bool_t
fToFile
;
62
63
// uint32_t fRunId; // FairSource has one (but int)
64
uint32_t
fPeriodId
;
65
66
Int_t
iEventNumber
;
67
Int_t
iT0BranchIndex
;
68
FairEventHeader
*
fEventHeader
;
69
ClassDef
(
BmnMQSource
, 1);
70
};
71
72
#endif
/* BMNMQSOURCE_H */
BmnParts.h
i
int i
Definition
P4_F32vec4.h:22
Bool_t
bool Bool_t
Int_t
int Int_t
UInt_t
unsigned int UInt_t
kFALSE
constexpr Bool_t kFALSE
ClassDef
#define ClassDef(name, id)
TBufferFile.h
TChain.h
TString.h
Form
char * Form(const char *fmt,...)
BmnMQSource::fFirstEvent
Bool_t fFirstEvent
Definition
BmnMQSource.h:60
BmnMQSource::~BmnMQSource
virtual ~BmnMQSource()
Definition
BmnMQSource.cxx:32
BmnMQSource::GetDstNameFromRunId
TString GetDstNameFromRunId(Int_t runId)
Definition
BmnMQSource.h:44
BmnMQSource::iT0BranchIndex
Int_t iT0BranchIndex
Definition
BmnMQSource.h:67
BmnMQSource::ReadEvent
Int_t ReadEvent(UInt_t i=0)
Definition
BmnMQSource.cxx:128
BmnMQSource::FillEventHeader
void FillEventHeader(FairEventHeader *feh)
Definition
BmnMQSource.cxx:209
BmnMQSource::_ctx
void * _ctx
Definition
BmnMQSource.h:53
BmnMQSource::SetRunInstance
void SetRunInstance(FairRunAna *run)
Definition
BmnMQSource.h:39
BmnMQSource::iEventNumber
Int_t iEventNumber
Definition
BmnMQSource.h:66
BmnMQSource::fEventHeader
FairEventHeader * fEventHeader
Definition
BmnMQSource.h:68
BmnMQSource::Close
void Close()
Definition
BmnMQSource.cxx:112
BmnMQSource::GetRunInstance
FairRunAna * GetRunInstance()
Definition
BmnMQSource.h:38
BmnMQSource::_tBuf
TBufferFile * _tBuf
Definition
BmnMQSource.h:52
BmnMQSource::_decoSocket
void * _decoSocket
Definition
BmnMQSource.h:54
BmnMQSource::GetPeriodId
uint32_t GetPeriodId()
Definition
BmnMQSource.h:41
BmnMQSource::InitZMQ
Bool_t InitZMQ()
Definition
BmnMQSource.cxx:220
BmnMQSource::_addrString
std::string _addrString
Definition
BmnMQSource.h:55
BmnMQSource::TimeDelta
const Int_t TimeDelta
Definition
BmnMQSource.h:59
BmnMQSource::_msg
zmq_msg_t _msg
Definition
BmnMQSource.h:51
BmnMQSource::Init
Bool_t Init()
Definition
BmnMQSource.cxx:34
BmnMQSource::fRunInst
FairRunAna * fRunInst
Definition
BmnMQSource.h:50
BmnMQSource::fToFile
Bool_t fToFile
Definition
BmnMQSource.h:61
BmnMQSource::CheckMaxEventNo
virtual Int_t CheckMaxEventNo(Int_t end_ev)
Definition
BmnMQSource.h:37
BmnMQSource::fNamVec
std::vector< TNamed * > fNamVec
Definition
BmnMQSource.h:56
BmnMQSource::fPeriodId
uint32_t fPeriodId
Definition
BmnMQSource.h:64
BmnMQSource::fArrVec
std::vector< TClonesArray * > fArrVec
Definition
BmnMQSource.h:57
BmnMQSource::BmnMQSource
BmnMQSource(std::string addr="tcp://localhost:6666", Bool_t toFile=kFALSE)
Definition
BmnMQSource.cxx:21
FairEventHeader
FairOnlineSource
TBufferFile
TString
BmnEnums.h
Define enumerations used in tracking.
BmnEventHeader.h
CbmVertex.h
DstEventHeader.h
install
include
BmnMQSource.h
Generated on
for BmnRoot by
1.17.0