CbmRoot
CbmDeviceUnpackTofStar2018 Class Reference

#include <CbmDeviceUnpackTofStar2018.h>

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

Public Member Functions

 CbmDeviceUnpackTofStar2018 ()
 
virtual ~CbmDeviceUnpackTofStar2018 ()
 

Protected Member Functions

virtual void InitTask ()
 
bool HandleData (FairMQMessagePtr &, int)
 

Private Member Functions

bool CheckTimeslice (const fles::Timeslice &ts)
 
void PrintMicroSliceDescriptor (const fles::MicrosliceDescriptor &mdsc)
 
bool IsChannelNameAllowed (std::string channelName)
 
Bool_t InitContainers ()
 
Bool_t ReInitContainers ()
 
void CreateHistograms ()
 
void FillHitInfo (ngdpb::Message)
 
void FillStarTrigInfo (ngdpb::Message)
 
void FillEpochInfo (ngdpb::Message)
 
void PrintSlcInfo (ngdpb::Message)
 
void PrintSysInfo (ngdpb::Message)
 
void PrintGenInfo (ngdpb::Message)
 
Bool_t DoUnpack (const fles::Timeslice &ts, size_t component)
 
Int_t GetArrayIndex (Int_t gdpbId, Int_t get4Id)
 

Private Attributes

uint64_t fNumMessages
 
std::vector< std::string > fAllowedChannels = {"tofcomponent", "parameters"}
 
size_t fuMsAcceptsPercent
 
size_t fuOverlapMsNb
 
UInt_t fuMinNbGdpb
 
UInt_t fuCurrNbGdpb
 
UInt_t fuNrOfGdpbs
 
UInt_t fuNrOfFebsPerGdpb
 
UInt_t fuNrOfGet4PerFeb
 
UInt_t fuNrOfChannelsPerGet4
 
UInt_t fuNrOfChannelsPerFeet
 
UInt_t fuNrOfGet4
 
UInt_t fuNrOfGet4PerGdpb
 
UInt_t fuNrOfChannelsPerGdpb
 
std::vector< int > fMsgCounter
 
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
 
UInt_t fuGdpbId
 
UInt_t fuGdpbNr
 
UInt_t fuGet4Id
 
UInt_t fuGet4Nr
 
std::vector< ULong64_t > fvulCurrentEpoch
 
std::vector< Bool_t > fvbFirstEpochSeen
 
Int_t fNofEpochs
 
ULong64_t fulCurrentEpochTime
 
Int_t fEquipmentId
 
Double_t fdMsIndex
 
Double_t fdTShiftRef
 
Bool_t fbEpochSuppModeOn
 
Bool_t fbGet4M24b
 
Bool_t fbGet4v20
 
Bool_t fbMergedEpochsOn
 
CbmTofDigiExp * fDigi
 
CbmTofUnpackPar * fUnpackPar
 
Double_t fdRefTime
 
Double_t fdLastDigiTime
 
Double_t fdFirstDigiTimeDif
 
Double_t fdEvTime0
 
TH1 * fhRawTDigEvT0
 
TH1 * fhRawTDigRef0
 
TH1 * fhRawTDigRef
 
TH1 * fhRawTRefDig0
 
TH1 * fhRawTRefDig1
 
TH1 * fhRawDigiLastDigi
 
std::vector< TH2 * > fhRawTotCh
 
std::vector< TH1 * > fhChCount
 
std::vector< Bool_t > fvbChanThere
 
std::vector< TH2 * > fhChanCoinc
 
Bool_t fbDetChanThere [64]
 
TH2 * fhDetChanCoinc
 
std::vector< std::vector< ngdpb::Message > > fvmEpSupprBuffer
 
CbmTbDaqBuffer * fBuffer
 
ULong64_t fulGdpbTsMsb
 
ULong64_t fulGdpbTsLsb
 
ULong64_t fulStarTsMsb
 
ULong64_t fulStarTsMid
 
ULong64_t fulGdpbTsFullLast
 
ULong64_t fulStarTsFullLast
 
UInt_t fuStarTokenLast
 
UInt_t fuStarDaqCmdLast
 
UInt_t fuStarTrigCmdLast
 

Detailed Description

Definition at line 31 of file CbmDeviceUnpackTofStar2018.h.

Constructor & Destructor Documentation

◆ CbmDeviceUnpackTofStar2018()

CbmDeviceUnpackTofStar2018::CbmDeviceUnpackTofStar2018 ( )

Definition at line 38 of file CbmDeviceUnpackTofStar2018.cxx.

◆ ~CbmDeviceUnpackTofStar2018()

CbmDeviceUnpackTofStar2018::~CbmDeviceUnpackTofStar2018 ( )
virtual

Definition at line 791 of file CbmDeviceUnpackTofStar2018.cxx.

Member Function Documentation

◆ CheckTimeslice()

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

Definition at line 812 of file CbmDeviceUnpackTofStar2018.cxx.

Referenced by HandleData().

◆ CreateHistograms()

void CbmDeviceUnpackTofStar2018::CreateHistograms ( )
private

◆ DoUnpack()

◆ FillEpochInfo()

void CbmDeviceUnpackTofStar2018::FillEpochInfo ( ngdpb::Message  mess)
private

In Ep. Suppr. Mode, receive following epoch instead of previous Re-align the epoch number of the message in case it will be used later: We received the epoch after the data instead of the one before!

Definition at line 599 of file CbmDeviceUnpackTofStar2018.cxx.

References FillHitInfo(), fNofEpochs, fuGet4Nr, fulCurrentEpochTime, fvbFirstEpochSeen, fvmEpSupprBuffer, fvulCurrentEpoch, and gdpbv100::kuEpochCounterSz.

Referenced by DoUnpack().

◆ FillHitInfo()

void CbmDeviceUnpackTofStar2018::FillHitInfo ( ngdpb::Message  mess)
private

◆ FillStarTrigInfo()

void CbmDeviceUnpackTofStar2018::FillStarTrigInfo ( ngdpb::Message  mess)
private

◆ GetArrayIndex()

Int_t CbmDeviceUnpackTofStar2018::GetArrayIndex ( Int_t  gdpbId,
Int_t  get4Id 
)
inlineprivate

Definition at line 153 of file CbmDeviceUnpackTofStar2018.h.

References fuNrOfGet4PerGdpb.

Referenced by InitContainers().

◆ HandleData()

bool CbmDeviceUnpackTofStar2018::HandleData ( FairMQMessagePtr &  msg,
int   
)
protected

Definition at line 345 of file CbmDeviceUnpackTofStar2018.cxx.

References CheckTimeslice(), DoUnpack(), and fNumMessages.

Referenced by InitTask().

◆ InitContainers()

Bool_t CbmDeviceUnpackTofStar2018::InitContainers ( )
private

◆ InitTask()

void CbmDeviceUnpackTofStar2018::InitTask ( )
protectedvirtual

◆ IsChannelNameAllowed()

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

Definition at line 122 of file CbmDeviceUnpackTofStar2018.cxx.

References fAllowedChannels, and pos.

Referenced by InitTask().

◆ PrintGenInfo()

void CbmDeviceUnpackTofStar2018::PrintGenInfo ( ngdpb::Message  mess)
private

Definition at line 674 of file CbmDeviceUnpackTofStar2018.cxx.

References iMess.

Referenced by DoUnpack().

◆ PrintMicroSliceDescriptor()

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

Definition at line 794 of file CbmDeviceUnpackTofStar2018.cxx.

◆ PrintSlcInfo()

void CbmDeviceUnpackTofStar2018::PrintSlcInfo ( ngdpb::Message  )
private

Nothing to do, maybe later use it to trakc parameter changes like treshold?

Definition at line 657 of file CbmDeviceUnpackTofStar2018.cxx.

Referenced by DoUnpack().

◆ PrintSysInfo()

void CbmDeviceUnpackTofStar2018::PrintSysInfo ( ngdpb::Message  mess)
private

Definition at line 686 of file CbmDeviceUnpackTofStar2018.cxx.

References fuGdpbId, fuGet4Nr, fulCurrentEpochTime, and fvulCurrentEpoch.

Referenced by DoUnpack().

◆ ReInitContainers()

Member Data Documentation

◆ fAllowedChannels

std::vector<std::string> CbmDeviceUnpackTofStar2018::fAllowedChannels = {"tofcomponent", "parameters"}
private

Definition at line 43 of file CbmDeviceUnpackTofStar2018.h.

Referenced by IsChannelNameAllowed().

◆ fbDetChanThere

Bool_t CbmDeviceUnpackTofStar2018::fbDetChanThere[64]
private

Definition at line 116 of file CbmDeviceUnpackTofStar2018.h.

◆ fbEpochSuppModeOn

Bool_t CbmDeviceUnpackTofStar2018::fbEpochSuppModeOn
private

Definition at line 92 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), and ReInitContainers().

◆ fbGet4M24b

Bool_t CbmDeviceUnpackTofStar2018::fbGet4M24b
private

Definition at line 93 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fbGet4v20

Bool_t CbmDeviceUnpackTofStar2018::fbGet4v20
private

Definition at line 94 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo().

◆ fbMergedEpochsOn

Bool_t CbmDeviceUnpackTofStar2018::fbMergedEpochsOn
private

Definition at line 95 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fBuffer

CbmTbDaqBuffer* CbmDeviceUnpackTofStar2018::fBuffer
private

Definition at line 121 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and FillStarTrigInfo().

◆ fdEvTime0

Double_t CbmDeviceUnpackTofStar2018::fdEvTime0
private

Definition at line 105 of file CbmDeviceUnpackTofStar2018.h.

◆ fdFirstDigiTimeDif

Double_t CbmDeviceUnpackTofStar2018::fdFirstDigiTimeDif
private

Definition at line 104 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fDigi

CbmTofDigiExp* CbmDeviceUnpackTofStar2018::fDigi
private

Definition at line 97 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and FillStarTrigInfo().

◆ fdLastDigiTime

Double_t CbmDeviceUnpackTofStar2018::fdLastDigiTime
private

Definition at line 103 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and FillStarTrigInfo().

◆ fdMsIndex

Double_t CbmDeviceUnpackTofStar2018::fdMsIndex
private

Definition at line 89 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fdRefTime

Double_t CbmDeviceUnpackTofStar2018::fdRefTime
private

Definition at line 102 of file CbmDeviceUnpackTofStar2018.h.

◆ fdTShiftRef

Double_t CbmDeviceUnpackTofStar2018::fdTShiftRef
private

Definition at line 90 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and FillStarTrigInfo().

◆ fEquipmentId

Int_t CbmDeviceUnpackTofStar2018::fEquipmentId
private

Time stamp of current epoch

Definition at line 88 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fGdpbIdIndexMap

std::map<UInt_t, UInt_t> CbmDeviceUnpackTofStar2018::fGdpbIdIndexMap
private

Definition at line 64 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), and ReInitContainers().

◆ fhChanCoinc

std::vector<TH2*> CbmDeviceUnpackTofStar2018::fhChanCoinc
private

Definition at line 115 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhChCount

std::vector<TH1*> CbmDeviceUnpackTofStar2018::fhChCount
private

Definition at line 113 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), and FillHitInfo().

◆ fhDetChanCoinc

TH2* CbmDeviceUnpackTofStar2018::fhDetChanCoinc
private

Definition at line 117 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhRawDigiLastDigi

TH1* CbmDeviceUnpackTofStar2018::fhRawDigiLastDigi
private

Definition at line 111 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhRawTDigEvT0

TH1* CbmDeviceUnpackTofStar2018::fhRawTDigEvT0
private

Definition at line 106 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhRawTDigRef

TH1* CbmDeviceUnpackTofStar2018::fhRawTDigRef
private

Definition at line 108 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhRawTDigRef0

TH1* CbmDeviceUnpackTofStar2018::fhRawTDigRef0
private

Definition at line 107 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms().

◆ fhRawTotCh

std::vector<TH2*> CbmDeviceUnpackTofStar2018::fhRawTotCh
private

Definition at line 112 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), and FillHitInfo().

◆ fhRawTRefDig0

TH1* CbmDeviceUnpackTofStar2018::fhRawTRefDig0
private

Definition at line 109 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), and FillStarTrigInfo().

◆ fhRawTRefDig1

TH1* CbmDeviceUnpackTofStar2018::fhRawTRefDig1
private

Definition at line 110 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), and FillStarTrigInfo().

◆ fMsgCounter

std::vector<int> CbmDeviceUnpackTofStar2018::fMsgCounter
private

Definition at line 63 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fNofEpochs

Int_t CbmDeviceUnpackTofStar2018::fNofEpochs
private

Definition at line 85 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillEpochInfo().

◆ fNumMessages

uint64_t CbmDeviceUnpackTofStar2018::fNumMessages
private

Definition at line 41 of file CbmDeviceUnpackTofStar2018.h.

Referenced by HandleData().

◆ fuCurrNbGdpb

UInt_t CbmDeviceUnpackTofStar2018::fuCurrNbGdpb
private

Definition at line 51 of file CbmDeviceUnpackTofStar2018.h.

◆ fuGdpbId

UInt_t CbmDeviceUnpackTofStar2018::fuGdpbId
private

Definition at line 66 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), and PrintSysInfo().

◆ fuGdpbNr

UInt_t CbmDeviceUnpackTofStar2018::fuGdpbNr
private

Definition at line 68 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), and FillHitInfo().

◆ fuGet4Id

UInt_t CbmDeviceUnpackTofStar2018::fuGet4Id
private

Definition at line 70 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fuGet4Nr

UInt_t CbmDeviceUnpackTofStar2018::fuGet4Nr
private

Definition at line 72 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), FillEpochInfo(), FillHitInfo(), and PrintSysInfo().

◆ fulCurrentEpochTime

ULong64_t CbmDeviceUnpackTofStar2018::fulCurrentEpochTime
private

Current epoch marker for each ROC

Definition at line 86 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillEpochInfo(), and PrintSysInfo().

◆ fulGdpbTsFullLast

ULong64_t CbmDeviceUnpackTofStar2018::fulGdpbTsFullLast
private

Definition at line 128 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fulGdpbTsLsb

ULong64_t CbmDeviceUnpackTofStar2018::fulGdpbTsLsb
private

Definition at line 125 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fulGdpbTsMsb

ULong64_t CbmDeviceUnpackTofStar2018::fulGdpbTsMsb
private

Definition at line 124 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fulStarTsFullLast

ULong64_t CbmDeviceUnpackTofStar2018::fulStarTsFullLast
private

Definition at line 129 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fulStarTsMid

ULong64_t CbmDeviceUnpackTofStar2018::fulStarTsMid
private

Definition at line 127 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fulStarTsMsb

ULong64_t CbmDeviceUnpackTofStar2018::fulStarTsMsb
private

Definition at line 126 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fuMinNbGdpb

UInt_t CbmDeviceUnpackTofStar2018::fuMinNbGdpb
private

Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice

Definition at line 50 of file CbmDeviceUnpackTofStar2018.h.

Referenced by ReInitContainers().

◆ fuMsAcceptsPercent

size_t CbmDeviceUnpackTofStar2018::fuMsAcceptsPercent
private

Definition at line 47 of file CbmDeviceUnpackTofStar2018.h.

◆ fUnpackPar

CbmTofUnpackPar* CbmDeviceUnpackTofStar2018::fUnpackPar
private

Definition at line 99 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), InitContainers(), and ReInitContainers().

◆ fuNrOfChannelsPerFeet

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfChannelsPerFeet
private

Definition at line 58 of file CbmDeviceUnpackTofStar2018.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGdpb

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfChannelsPerGdpb
private

Definition at line 61 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), FillHitInfo(), and ReInitContainers().

◆ fuNrOfChannelsPerGet4

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfChannelsPerGet4
private

Definition at line 56 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and ReInitContainers().

◆ fuNrOfFebsPerGdpb

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfFebsPerGdpb
private

Definition at line 54 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), and ReInitContainers().

◆ fuNrOfGdpbs

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfGdpbs
private

Definition at line 53 of file CbmDeviceUnpackTofStar2018.h.

Referenced by CreateHistograms(), InitContainers(), and ReInitContainers().

◆ fuNrOfGet4

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfGet4
private

Definition at line 59 of file CbmDeviceUnpackTofStar2018.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerFeb

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfGet4PerFeb
private

Definition at line 55 of file CbmDeviceUnpackTofStar2018.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerGdpb

UInt_t CbmDeviceUnpackTofStar2018::fuNrOfGet4PerGdpb
private

◆ fuOverlapMsNb

size_t CbmDeviceUnpackTofStar2018::fuOverlapMsNb
private

Reject Ms with index inside TS above this, assumes 100 MS per TS

Definition at line 49 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack().

◆ fuStarDaqCmdLast

UInt_t CbmDeviceUnpackTofStar2018::fuStarDaqCmdLast
private

Definition at line 131 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fuStarTokenLast

UInt_t CbmDeviceUnpackTofStar2018::fuStarTokenLast
private

Definition at line 130 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fuStarTrigCmdLast

UInt_t CbmDeviceUnpackTofStar2018::fuStarTrigCmdLast
private

Definition at line 132 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillStarTrigInfo().

◆ fvbChanThere

std::vector<Bool_t> CbmDeviceUnpackTofStar2018::fvbChanThere
private

Definition at line 114 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillHitInfo(), and InitContainers().

◆ fvbFirstEpochSeen

std::vector<Bool_t> CbmDeviceUnpackTofStar2018::fvbFirstEpochSeen
private

Definition at line 83 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillEpochInfo(), FillHitInfo(), and InitContainers().

◆ fvmEpSupprBuffer

std::vector<std::vector<ngdpb::Message> > CbmDeviceUnpackTofStar2018::fvmEpSupprBuffer
private

Definition at line 119 of file CbmDeviceUnpackTofStar2018.h.

Referenced by DoUnpack(), FillEpochInfo(), and ReInitContainers().

◆ fvulCurrentEpoch

std::vector<ULong64_t> CbmDeviceUnpackTofStar2018::fvulCurrentEpoch
private

Current epoch marker for each GDPB and GET4 (first epoch in the stream initializes the map item) pointer points to an array of size fNrOfGdpbs * fNrOfGet4PerGdpb The correct array index is calculated using the function GetArrayIndex(gdpbId, get4Id)

Definition at line 82 of file CbmDeviceUnpackTofStar2018.h.

Referenced by FillEpochInfo(), FillHitInfo(), InitContainers(), and PrintSysInfo().


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