40 while (CheckCurrentState(RUNNING))
43 std::unique_ptr<FairMQMessage> msg(fTransportFactory->CreateMessage());
44 if (Receive(msg,
"data-in") >= 0)
47 string msgStr(static_cast<char*>(msg->GetData()), msg->GetSize());
48 istringstream ibuffer(msgStr);
50 LOG(INFO) <<
"IBUFFER IS BAD!";
51 boost::archive::text_iarchive InputArchive(ibuffer);
67 LOG(INFO) <<
"Conversion Method: " << *
fDigiPar;
68 LOG(INFO) <<
"Tot Info: " << *
fTotPar;
69 if (pixelMapping == 0){
75 if (fBurstData.fData.size() < 1)
continue;
76 LOG(INFO) <<
"BurstData size: " << fBurstData.fData[0].size();
77 for (
auto dataItr : fBurstData.fData[0])
78 LOG(INFO) << dataItr->GetTimeStamp();
81 std::vector<FairTimeStamp*> sortedData = mapSorter.
GetOutputData();
86 std::vector<std::vector<FairTimeStamp*> > gapData = eventBuilder.
GetSeparatedData();
87 if (fBurstData.fHeader.fBranchName ==
"MVDPixelDigis"){
88 for (
auto gapIter : gapData){
89 std::vector<PndSdsDigiPixel*> digiPixel;
90 if (gapIter.size() > 1){
91 LOG(INFO) <<
"GapSize > 1 " << gapIter.size();
92 for (
auto dataIter : gapIter){
96 std::vector<std::vector< Int_t> > clusterInts = clusterFinder.
GetClusters(digiPixel);
97 for (
auto clusterIter : clusterInts)
99 LOG(INFO) <<
"ClusterSize: " << clusterIter.size();
100 std::vector<PndSdsDigiPixel*> digiInCluster;
101 for (
auto digiInClusterItr : clusterIter){
102 int pos = digiInClusterItr;
103 digiInCluster.push_back(digiPixel[pos]);
105 if (digiInCluster.size() > 0){
107 digiInCluster.clear();
108 LOG(INFO) <<
"Hit: " <<
hit;
120 if (pixelMapping != 0)
128 LOG(ERROR) <<
" Boost Serialization not ok";
void FillData(std::vector< PndSdsDigiTopix4 > data)
PndSdsTotDigiPar * fTotPar
Charge Digitization Parameter Class for SDS.
PndSdsHit GetCluster(std::vector< PndSdsDigiPixel * > &pixelArray)
Main function of class to calculate the PndSdsHit out of the given PndSdsDigis.
PndSensorNamePar * fSensorPar
Class to access the naming information of the MVD.
PndSdsPixelDigiPar * fDigiPar
bool fHasBoostSerialization
std::vector< std::vector< Int_t > > GetClusters(std::vector< PndSdsDigiPixel * > &hits)
PndSdsChargedWeightedPixelMapping: Gets a vector of DigiHits and calculates the cluster center weight...
std::vector< std::vector< PndSdsDigiTopix4 > > GetSeparatedData()
virtual void AddElements(std::vector< FairTimeStamp * > dataArray)
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
virtual void WriteOutAll()
virtual std::vector< FairTimeStamp * > GetOutputData()
Data class to store the digi output of a pixel module.
Unique match between SensorID and path in TGeoManager.
Digitization Parameter Class for SDS-Pixel part.