10 #include "FairMQParts.h"
11 #include "PixelFindHits.h"
13 #include "PixelDigiPar.h"
29 delete (TMessage*)hint;
72 fGeoPar =
new FairGeoParSet(
"FairGeoParSet");
86 while (CheckCurrentState(RUNNING))
90 if ( Receive(parts,
"data-in") >= 0 )
92 LOG(INFO)<<
"message received";
95 TObject* tempObjects[10];
96 for (
int ipart = 0 ; ipart < parts.Size() ; ipart++ )
98 Ex9TMessage2 tm(parts.At(ipart)->GetData(), parts.At(ipart)->GetSize());
99 tempObjects[ipart] = (TObject*)tm.ReadObject(tm.GetClass());
100 if ( strcmp(tempObjects[ipart]->GetName(),
"EventHeader.") == 0 )
103 fInput->Add(tempObjects[ipart]);
112 PixelDigiPar* tempDP = (PixelDigiPar*)
fParCList->FindObject(
"PixelDigiParameters");
119 LOG(INFO) <<
" analyzing event " <<
fEventHeader->GetMCEntryNumber();
122 TMessage* messageFEH;
123 TMessage* messageTCA[10];
124 FairMQParts partsOut;
126 messageFEH =
new TMessage(kMESS_OBJECT);
128 partsOut.AddPart(NewMessage(messageFEH->Buffer(), messageFEH->BufferSize(),
free_tmessage4, messageFEH));
129 for (
int iobj = 0 ; iobj <
fOutput->GetEntries() ; iobj++ ) {
130 messageTCA[iobj] =
new TMessage(kMESS_OBJECT);
131 messageTCA[iobj]->WriteObject(
fOutput->At(iobj));
132 partsOut.AddPart(NewMessage(messageTCA[iobj]->Buffer(), messageTCA[iobj]->BufferSize(),
free_tmessage4, messageTCA[iobj]));
133 Send(partsOut,
"data-out");
141 MQLOG(INFO) <<
"Received " << receivedMsgs <<
" and sent " << sentMsgs <<
" messages!";
149 delete (std::string*)hint;
159 FairMQDevice::SetProperty(key, value);
171 return FairMQDevice::GetProperty(key, default_);
178 FairMQDevice::SetProperty(key, value);
183 return FairMQDevice::GetProperty(key, value);
193 for (
int iparC = 0 ; iparC <
fParCList->GetEntries() ; iparC++ ) {
194 FairParGenericSet* tempObj = (FairParGenericSet*)(
fParCList->At(iparC));
201 std::string paramName = thisPar->GetName();
203 std::string* reqStr =
new std::string(paramName +
"," + std::to_string(
fCurrentRunId));
204 LOG(WARN) <<
"Requesting parameter \"" << paramName <<
"\" for Run ID " <<
fCurrentRunId <<
" (" << thisPar <<
")";
205 std::unique_ptr<FairMQMessage> req(NewMessage(const_cast<char*>(reqStr->c_str()), reqStr->length(),
CustomCleanup, reqStr));
206 std::unique_ptr<FairMQMessage> rep(NewMessage());
208 if (Send(req,
"param") > 0)
210 if (Receive(rep,
"param") > 0)
213 thisPar = (FairParGenericSet*)tm.ReadObject(tm.GetClass());
214 LOG(WARN) <<
"Received parameter"<< paramName <<
" from the server (" << thisPar <<
")";
virtual ~PndMvdMQTaskProcessor()
Ex9TMessage2(void *buf, Int_t len)
FairEventHeader * fEventHeader
void SetProperty(const int key, const std::string &value)
FairParGenericSet * UpdateParameter(FairParGenericSet *thisPar)
void free_tmessage4(void *data, void *hint)
static void CustomCleanup(void *data, void *hint)
std::string GetProperty(const int key, const std::string &default_="")