24 Bool_t
HandleData(fair::mq::MessagePtr& inputMessage, Int_t)
26 LOG(info) <<
"Event Received. Message size: " << inputMessage->GetSize();
28 auto buffer = std::make_unique<TBufferFile>(TBuffer::kRead);
29 buffer->SetBuffer(inputMessage->GetData(), inputMessage->GetSize());
30 auto eventData = std::unique_ptr<DigiArrays>(
static_cast<DigiArrays*
>(buffer->ReadObject(DigiArrays::Class())));
32 auto tree = std::make_unique<TTree>();
33 tree->Branch(
"SILICON", eventData->silicon);
34 tree->Branch(
"GEM", eventData->gem);
35 tree->Branch(
"CSC", eventData->csc);
36 tree->Branch(
"TOF400", eventData->tof400);
37 tree->Branch(
"TOF700", eventData->tof700);
38 tree->Branch(
"TOF701", eventData->tof701);
39 tree->Branch(
"ScWallDigi", eventData->scwall);
40 tree->Branch(
"FHCalDigi", eventData->fhcal);
41 tree->Branch(
"HodoDigi", eventData->hodo);
42 tree->Branch(
"HdetDigi", eventData->ndet);
43 tree->Branch(
"SiBT", eventData->sibt);
44 tree->Branch(
"BC2AT", eventData->trigAr);
47 auto message = NewMessage();
48 RootSerializer().Serialize(*message, tree);
51 LOG(error) <<
"Sending message failed!";