BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnOnlineShmSource.h
Go to the documentation of this file.
1
#ifndef BMN_ONLINE_SHM_SOURCE_H
2
#define BMN_ONLINE_SHM_SOURCE_H
3
4
#include <FairOnlineSource.h>
5
#include <FairSource.h>
6
#include <
TClonesArray.h
>
7
#include <
TTree.h
>
8
#include <boost/interprocess/managed_shared_memory.hpp>
9
#include <boost/interprocess/sync/named_semaphore.hpp>
10
#include <string>
11
12
namespace
bIpc = boost::interprocess;
13
14
class
BmnOnlineShmSource
:
public
FairOnlineSource
15
{
16
public
:
17
BmnOnlineShmSource
();
18
virtual
~BmnOnlineShmSource
();
19
20
virtual
Bool_t
Init
();
21
virtual
Int_t
ReadEvent
(
UInt_t
= 0);
22
virtual
void
Close
();
23
24
BmnOnlineShmSource
(
const
BmnOnlineShmSource
&) =
delete
;
25
BmnOnlineShmSource
&
operator=
(
const
BmnOnlineShmSource
&) =
delete
;
26
27
private
:
28
Bool_t
fIsRegisterBranches
;
29
30
std::string
fShmName
;
31
std::string
fWriteSemName
;
32
std::string
fReadSemName
;
33
std::string
fMsgName
;
34
35
std::unique_ptr<bIpc::managed_shared_memory>
fShmSegment
;
36
std::unique_ptr<bIpc::named_semaphore>
fWriteSem
;
37
std::unique_ptr<bIpc::named_semaphore>
fReadSem
;
38
39
std::unordered_map<std::string, std::unique_ptr<TClonesArray>>
fRegisteredBranches
;
40
41
void
RegisterBranches
(std::unique_ptr<TTree>& inputTree);
42
void
UploadData
(std::unique_ptr<TTree>& inputTree);
43
44
ClassDef
(
BmnOnlineShmSource
, 0);
45
};
46
47
#endif
// BMN_ONLINE_SHM_SOURCE_H
Bool_t
bool Bool_t
Int_t
int Int_t
UInt_t
unsigned int UInt_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TTree.h
BmnOnlineShmSource::ReadEvent
virtual Int_t ReadEvent(UInt_t=0)
Definition
BmnOnlineShmSource.cxx:105
BmnOnlineShmSource::UploadData
void UploadData(std::unique_ptr< TTree > &inputTree)
Definition
BmnOnlineShmSource.cxx:92
BmnOnlineShmSource::Init
virtual Bool_t Init()
Definition
BmnOnlineShmSource.cxx:33
BmnOnlineShmSource::Close
virtual void Close()
Definition
BmnOnlineShmSource.cxx:129
BmnOnlineShmSource::fRegisteredBranches
std::unordered_map< std::string, std::unique_ptr< TClonesArray > > fRegisteredBranches
Definition
BmnOnlineShmSource.h:39
BmnOnlineShmSource::RegisterBranches
void RegisterBranches(std::unique_ptr< TTree > &inputTree)
Definition
BmnOnlineShmSource.cxx:75
BmnOnlineShmSource::fMsgName
std::string fMsgName
Definition
BmnOnlineShmSource.h:33
BmnOnlineShmSource::~BmnOnlineShmSource
virtual ~BmnOnlineShmSource()
Definition
BmnOnlineShmSource.cxx:31
BmnOnlineShmSource::fIsRegisterBranches
Bool_t fIsRegisterBranches
Definition
BmnOnlineShmSource.h:28
BmnOnlineShmSource::fWriteSemName
std::string fWriteSemName
Definition
BmnOnlineShmSource.h:31
BmnOnlineShmSource::BmnOnlineShmSource
BmnOnlineShmSource(const BmnOnlineShmSource &)=delete
BmnOnlineShmSource::operator=
BmnOnlineShmSource & operator=(const BmnOnlineShmSource &)=delete
BmnOnlineShmSource::fShmSegment
std::unique_ptr< bIpc::managed_shared_memory > fShmSegment
Definition
BmnOnlineShmSource.h:35
BmnOnlineShmSource::fReadSemName
std::string fReadSemName
Definition
BmnOnlineShmSource.h:32
BmnOnlineShmSource::fReadSem
std::unique_ptr< bIpc::named_semaphore > fReadSem
Definition
BmnOnlineShmSource.h:37
BmnOnlineShmSource::fShmName
std::string fShmName
Definition
BmnOnlineShmSource.h:30
BmnOnlineShmSource::BmnOnlineShmSource
BmnOnlineShmSource()
Definition
BmnOnlineShmSource.cxx:26
BmnOnlineShmSource::fWriteSem
std::unique_ptr< bIpc::named_semaphore > fWriteSem
Definition
BmnOnlineShmSource.h:36
FairOnlineSource
base
source
BmnOnlineShmSource.h
Generated on
for BmnRoot by
1.17.0