17#include "FairParGenericSet.h"
18#include "FairRootManager.h"
20#include "FairRunOnline.h"
21#include "FairRuntimeDb.h"
22#include "TClonesArray.h"
24#include "THttpServer.h"
51 LOG(info) <<
"CbmMcbm2018UnpackerTaskPsd::Allocate";
59 LOG(info) <<
"CbmMcbm2018UnpackerTaskPsd::Init";
60 LOG(info) <<
"Initializing mCBM PSD 2018 Unpacker";
63 FairRootManager* ioman = FairRootManager::Instance();
64 if (NULL == ioman) { LOG(fatal) <<
"No FairRootManager instance"; }
73 LOG(fatal) <<
"fPsdDigiVector could not be registered at FairRootManager";
84 LOG(fatal) <<
"fPsdDspVector could not be registered at FairRootManager";
93 LOG(info) <<
"Setting parameter containers for " << GetName();
97 for (
Int_t iparC = 0; iparC < fParCList->GetEntries(); ++iparC) {
98 FairParGenericSet* tempObj = (FairParGenericSet*) (fParCList->At(iparC));
99 fParCList->Remove(tempObj);
101 std::string sParamName {tempObj->GetName()};
102 FairParGenericSet* newObj =
103 dynamic_cast<FairParGenericSet*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(sParamName.data()));
105 if (
nullptr == newObj) {
106 LOG(error) <<
"Failed to obtain parameter container " << sParamName <<
", for parameter index " << iparC;
110 fParCList->AddAt(newObj, iparC);
117 LOG(info) <<
"Init parameter containers for " << GetName();
121 dynamic_cast<CbmMcbm2018PsdPar*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(
"CbmMcbm2018PsdPar"));
122 if (
nullptr == pUnpackPar) {
123 LOG(error) <<
"Failed to obtain parameter container CbmMcbm2018PsdPar";
134 LOG(info) <<
"ReInit parameter containers for " << GetName();
142 fUnpackerAlgo->AddMsComponentToList(component, usDetectorId);
149 LOG(info) <<
"Reset PSD unpacker histos ";
163 => Done in the algo!!!
164 sort(fPsdDigiVector->begin(), fPsdDigiVector->end(),
165 [](const CbmPsdDigi & a, const CbmPsdDigi & b) -> bool
167 return a.GetTime() < b.GetTime();
188 LOG(info) <<
"Finish of CbmMcbm2018UnpackerTaskPsd";
ClassImp(CbmConverterManager)
Bool_t bMcbm2018UnpackerTaskPsdResetHistos
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
virtual ~CbmMcbm2018UnpackerTaskPsd()
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
uint64_t fulTsCounter
If ON the output vector of dsp debug information is written to disk.
CbmMcbm2018UnpackerTaskPsd(UInt_t uNbSdpb=1)
std::vector< CbmPsdDigi > * fPsdDigiVector
Output Digi vector.
Bool_t ReInitContainers()
Bool_t fbDebugWriteOutput
If ON the output vector of digi is written to disk.
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
CbmMcbm2018UnpackerAlgoPsd * fUnpackerAlgo
Processing algo.
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Bool_t fbMonitorMode
Control flags.
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
std::vector< CbmPsdDsp > * fPsdDspVector
Output Dsp vector – preprocessed info for debugging.
void SetDspWriteMode(Bool_t bFlagIn=kTRUE)