CbmRoot
CbmMQTsaMultiSamplerTof Class Reference

#include <CbmMQTsaMultiSamplerTof.h>

Inheritance diagram for CbmMQTsaMultiSamplerTof:
[legend]
Collaboration diagram for CbmMQTsaMultiSamplerTof:
[legend]

Public Member Functions

 CbmMQTsaMultiSamplerTof ()
 
virtual ~CbmMQTsaMultiSamplerTof ()
 

Protected Member Functions

virtual void InitTask ()
 
virtual bool ConditionalRun ()
 

Protected Attributes

uint64_t fMaxTimeslices
 
std::string fFileName
 
std::string fDirName
 
std::vector< std::string > fInputFileList
 List of input files. More...
 
uint64_t fFileCounter
 
std::string fHost
 
uint64_t fPort
 
uint64_t fHighWaterMark
 
uint64_t fTSNumber
 
uint64_t fTSCounter
 
uint64_t fMessageCounter
 
int fMaxMemory = 0
 

Private Member Functions

bool OpenNextFile ()
 
bool CheckTimeslice (const fles::Timeslice &ts)
 
void PrintMicroSliceDescriptor (const fles::MicrosliceDescriptor &mdsc)
 
bool SendData (const fles::StorableTimeslice &component)
 
void CalcRuntime ()
 
bool IsChannelNameAllowed (std::string)
 
bool IsChannelUp (std::string)
 
bool CreateAndSendComponent (const fles::Timeslice &, int)
 
bool SendData (const fles::StorableTimeslice &, int)
 
bool CreateAndCombineComponents (const fles::Timeslice &, int)
 
bool AppendData (const fles::StorableTimeslice &, int)
 
bool SendTs ()
 
void SendSysCmdStop ()
 

Private Attributes

fles::TimesliceSource * fSource
 
std::chrono::steady_clock::time_point fTime
 
std::vector< std::string > fAllowedChannels
 
std::vector< int > fSysId = {16, 64, 96}
 
std::vector< int > fComponentsToSend = {0, 0, 0}
 
std::vector< std::vector< std::string > > fChannelsToSend = {{}, {}, {}}
 

Detailed Description

CbmMQTsaMultiSamplerTof.h

Since
2018-09-14
Author
N. Herrmann

Definition at line 23 of file CbmMQTsaMultiSamplerTof.h.

Constructor & Destructor Documentation

◆ CbmMQTsaMultiSamplerTof()

CbmMQTsaMultiSamplerTof::CbmMQTsaMultiSamplerTof ( )

Definition at line 45 of file CbmMQTsaMultiSamplerTof.cxx.

◆ ~CbmMQTsaMultiSamplerTof()

CbmMQTsaMultiSamplerTof::~CbmMQTsaMultiSamplerTof ( )
virtual

Definition at line 505 of file CbmMQTsaMultiSamplerTof.cxx.

Member Function Documentation

◆ AppendData()

bool CbmMQTsaMultiSamplerTof::AppendData ( const fles::StorableTimeslice &  ,
int   
)
private

Definition at line 396 of file CbmMQTsaMultiSamplerTof.cxx.

◆ CalcRuntime()

void CbmMQTsaMultiSamplerTof::CalcRuntime ( )
private

Definition at line 507 of file CbmMQTsaMultiSamplerTof.cxx.

References fTime.

◆ CheckTimeslice()

bool CbmMQTsaMultiSamplerTof::CheckTimeslice ( const fles::Timeslice &  ts)
private

Definition at line 534 of file CbmMQTsaMultiSamplerTof.cxx.

Referenced by ConditionalRun().

◆ ConditionalRun()

bool CbmMQTsaMultiSamplerTof::ConditionalRun ( )
protectedvirtual

◆ CreateAndCombineComponents()

bool CbmMQTsaMultiSamplerTof::CreateAndCombineComponents ( const fles::Timeslice &  ,
int   
)
private

Definition at line 362 of file CbmMQTsaMultiSamplerTof.cxx.

◆ CreateAndSendComponent()

bool CbmMQTsaMultiSamplerTof::CreateAndSendComponent ( const fles::Timeslice &  ts,
int  nrComp 
)
private

Definition at line 434 of file CbmMQTsaMultiSamplerTof.cxx.

References fComponentsToSend, fSysId, m, pos, and SendData().

◆ InitTask()

void CbmMQTsaMultiSamplerTof::InitTask ( )
protectedvirtual

◆ IsChannelNameAllowed()

bool CbmMQTsaMultiSamplerTof::IsChannelNameAllowed ( std::string  channelName)
private

Definition at line 172 of file CbmMQTsaMultiSamplerTof.cxx.

References fAllowedChannels, fChannelsToSend, fComponentsToSend, and pos.

Referenced by InitTask().

◆ IsChannelUp()

bool CbmMQTsaMultiSamplerTof::IsChannelUp ( std::string  channelName)
private

Definition at line 198 of file CbmMQTsaMultiSamplerTof.cxx.

Referenced by SendSysCmdStop().

◆ OpenNextFile()

bool CbmMQTsaMultiSamplerTof::OpenNextFile ( )
private

◆ PrintMicroSliceDescriptor()

void CbmMQTsaMultiSamplerTof::PrintMicroSliceDescriptor ( const fles::MicrosliceDescriptor &  mdsc)
private

Definition at line 516 of file CbmMQTsaMultiSamplerTof.cxx.

◆ SendData() [1/2]

bool CbmMQTsaMultiSamplerTof::SendData ( const fles::StorableTimeslice &  component,
int  idx 
)
private

Definition at line 466 of file CbmMQTsaMultiSamplerTof.cxx.

References fChannelsToSend, fComponentsToSend, and fMessageCounter.

◆ SendData() [2/2]

bool CbmMQTsaMultiSamplerTof::SendData ( const fles::StorableTimeslice &  component)
private

Referenced by CreateAndSendComponent().

◆ SendSysCmdStop()

void CbmMQTsaMultiSamplerTof::SendSysCmdStop ( )
private

Definition at line 568 of file CbmMQTsaMultiSamplerTof.cxx.

References IsChannelUp().

Referenced by ConditionalRun().

◆ SendTs()

bool CbmMQTsaMultiSamplerTof::SendTs ( )
private

Definition at line 416 of file CbmMQTsaMultiSamplerTof.cxx.

Member Data Documentation

◆ fAllowedChannels

std::vector<std::string> CbmMQTsaMultiSamplerTof::fAllowedChannels
private
Initial value:
= {"stscomponent",
"trdcomponent",
"tofcomponent",
"syscmd",
"syscmdin"}

Definition at line 80 of file CbmMQTsaMultiSamplerTof.h.

Referenced by IsChannelNameAllowed().

◆ fChannelsToSend

std::vector<std::vector<std::string> > CbmMQTsaMultiSamplerTof::fChannelsToSend = {{}, {}, {}}
private

Definition at line 89 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun(), IsChannelNameAllowed(), and SendData().

◆ fComponentsToSend

std::vector<int> CbmMQTsaMultiSamplerTof::fComponentsToSend = {0, 0, 0}
private

◆ fDirName

std::string CbmMQTsaMultiSamplerTof::fDirName
protected

Definition at line 32 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fFileCounter

uint64_t CbmMQTsaMultiSamplerTof::fFileCounter
protected

Definition at line 35 of file CbmMQTsaMultiSamplerTof.h.

◆ fFileName

std::string CbmMQTsaMultiSamplerTof::fFileName
protected

Definition at line 31 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fHighWaterMark

uint64_t CbmMQTsaMultiSamplerTof::fHighWaterMark
protected

Definition at line 38 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fHost

std::string CbmMQTsaMultiSamplerTof::fHost
protected

Definition at line 36 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fInputFileList

std::vector<std::string> CbmMQTsaMultiSamplerTof::fInputFileList
protected

List of input files.

Definition at line 34 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fMaxMemory

int CbmMQTsaMultiSamplerTof::fMaxMemory = 0
protected

Definition at line 44 of file CbmMQTsaMultiSamplerTof.h.

◆ fMaxTimeslices

uint64_t CbmMQTsaMultiSamplerTof::fMaxTimeslices
protected

Definition at line 29 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun(), and InitTask().

◆ fMessageCounter

uint64_t CbmMQTsaMultiSamplerTof::fMessageCounter
protected

Definition at line 42 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun(), and SendData().

◆ fPort

uint64_t CbmMQTsaMultiSamplerTof::fPort
protected

Definition at line 37 of file CbmMQTsaMultiSamplerTof.h.

Referenced by InitTask().

◆ fSource

fles::TimesliceSource* CbmMQTsaMultiSamplerTof::fSource
private

Definition at line 65 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun(), and InitTask().

◆ fSysId

std::vector<int> CbmMQTsaMultiSamplerTof::fSysId = {16, 64, 96}
private

Definition at line 85 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun(), and CreateAndSendComponent().

◆ fTime

std::chrono::steady_clock::time_point CbmMQTsaMultiSamplerTof::fTime
private

Definition at line 66 of file CbmMQTsaMultiSamplerTof.h.

Referenced by CalcRuntime(), and InitTask().

◆ fTSCounter

uint64_t CbmMQTsaMultiSamplerTof::fTSCounter
protected

Definition at line 41 of file CbmMQTsaMultiSamplerTof.h.

Referenced by ConditionalRun().

◆ fTSNumber

uint64_t CbmMQTsaMultiSamplerTof::fTSNumber
protected

Definition at line 40 of file CbmMQTsaMultiSamplerTof.h.


The documentation for this class was generated from the following files: