#include "hldsockremotesource.h"
#include "hldsockremotevt.h"
#include "hrecevent.h"
#include "hruntimedb.h"
#include "hldevt.h"
#include "hldsubevt.h"
#include "hldunpack.h"
#include "hades.h"
#include <iostream>
ClassImp(HldSockRemoteSource)
HldSockRemoteSource::HldSockRemoteSource(void): HldSource() {
refId=-1;
}
HldSockRemoteSource::HldSockRemoteSource(const Text_t *nodeName,Int_t evtMax): HldSource(){
fReadEvent=new HldSockRemotEvt(nodeName,0,evtMax,0);
currNodeName=nodeName;
iter=0;
iter=fUnpackerList->MakeIterator();
isDumped=kFALSE;
}
HldSockRemoteSource::~HldSockRemoteSource(void) {
if (fUnpackerList) fUnpackerList->Delete();
fUnpackerList=0;
if (fReadEvent) delete fReadEvent;
fReadEvent=0;
if(iter) delete iter;
}
Bool_t HldSockRemoteSource::init(void) {
if (!(*fEventAddr)) {
(*fEventAddr) = new HRecEvent;
}
if(isDumped) return kTRUE;
iter=fUnpackerList->MakeIterator();
if (initUnpacker()==kFALSE) {
Error("init()","error in initialisation of unpackers \n");
return kFALSE;
}
HldUnpack* unpacker;
while ( (unpacker=(HldUnpack *)iter->Next())!=NULL) {
fReadEvent->appendSubEvtIdx(*unpacker);
}
return kTRUE;
}
EDsState HldSockRemoteSource::getNextEvent(Bool_t doUnpack) {
if(isDumped) return dumpEvt();
iter->Reset();
HldUnpack *unpacker;
if (!fReadEvent) return kDsError;
if (fReadEvent) fReadEvent->execute();
decodeHeader((*fEventAddr)->getHeader());
while ( (unpacker=(HldUnpack *)iter->Next())!=NULL) {
if (!unpacker->execute()) return kDsError;
}
return kDsOk;
}
Int_t HldSockRemoteSource::getCurrentRunId(void) {
((HldSockRemotEvt*)fReadEvent)->read();
return fReadEvent->getRunNr();
}
hldsockremotesource.cc:10 hldsockremotesource.cc:11 hldsockremotesource.cc:12 hldsockremotesource.cc:13 hldsockremotesource.cc:14 hldsockremotesource.cc:15 hldsockremotesource.cc:16 hldsockremotesource.cc:17 hldsockremotesource.cc:18 hldsockremotesource.cc:19 hldsockremotesource.cc:20 hldsockremotesource.cc:21 hldsockremotesource.cc:22 hldsockremotesource.cc:23 hldsockremotesource.cc:24 hldsockremotesource.cc:25 hldsockremotesource.cc:26 hldsockremotesource.cc:27 hldsockremotesource.cc:28 hldsockremotesource.cc:29 hldsockremotesource.cc:30 hldsockremotesource.cc:31 hldsockremotesource.cc:32 hldsockremotesource.cc:33 hldsockremotesource.cc:34 hldsockremotesource.cc:35 hldsockremotesource.cc:36 hldsockremotesource.cc:37 hldsockremotesource.cc:38 hldsockremotesource.cc:39 hldsockremotesource.cc:40 hldsockremotesource.cc:41 hldsockremotesource.cc:42 hldsockremotesource.cc:43 hldsockremotesource.cc:44 hldsockremotesource.cc:45 hldsockremotesource.cc:46 hldsockremotesource.cc:47 hldsockremotesource.cc:48 hldsockremotesource.cc:49 hldsockremotesource.cc:50 hldsockremotesource.cc:51 hldsockremotesource.cc:52 hldsockremotesource.cc:53 hldsockremotesource.cc:54 hldsockremotesource.cc:55 hldsockremotesource.cc:56 hldsockremotesource.cc:57 hldsockremotesource.cc:58 hldsockremotesource.cc:59 hldsockremotesource.cc:60 hldsockremotesource.cc:61 hldsockremotesource.cc:62 hldsockremotesource.cc:63 hldsockremotesource.cc:64 hldsockremotesource.cc:65 hldsockremotesource.cc:66 hldsockremotesource.cc:67 hldsockremotesource.cc:68 hldsockremotesource.cc:69 hldsockremotesource.cc:70 hldsockremotesource.cc:71 hldsockremotesource.cc:72 hldsockremotesource.cc:73 hldsockremotesource.cc:74 hldsockremotesource.cc:75 hldsockremotesource.cc:76 hldsockremotesource.cc:77 hldsockremotesource.cc:78 hldsockremotesource.cc:79 hldsockremotesource.cc:80 hldsockremotesource.cc:81 hldsockremotesource.cc:82 hldsockremotesource.cc:83 hldsockremotesource.cc:84 hldsockremotesource.cc:85 hldsockremotesource.cc:86 hldsockremotesource.cc:87 hldsockremotesource.cc:88 hldsockremotesource.cc:89 hldsockremotesource.cc:90 hldsockremotesource.cc:91 hldsockremotesource.cc:92 hldsockremotesource.cc:93 hldsockremotesource.cc:94