#include "L1AlgoInputData.h" #include using namespace std; using std::ios; L1AlgoInputData::L1AlgoInputData( const L1AlgoInputData& a) { SetData( a.GetStsHits(), a.GetStsStrips(), a.GetStsStripsB(), a.GetStsZPos(), a.GetSFlag(), a.GetSFlagB(), a.GetStsHitsStartIndex(), a.GetStsHitsStopIndex()); } const L1AlgoInputData& L1AlgoInputData::operator=( const L1AlgoInputData& a) { SetData( a.GetStsHits(), a.GetStsStrips(), a.GetStsStripsB(), a.GetStsZPos(), a.GetSFlag(), a.GetSFlagB(), a.GetStsHitsStartIndex(), a.GetStsHitsStopIndex()); return a; } void L1AlgoInputData::SetData( const vector< L1StsHit > & StsHits_, const vector< L1Strip > & StsStrips_, const vector< L1Strip > & StsStripsB_, const vector< fscal > & StsZPos_, const vector< unsigned char > & SFlag_, const vector< unsigned char > & SFlagB_, const THitI* StsHitsStartIndex_, const THitI* StsHitsStopIndex_ ) { vStsHits.resize(StsHits_.size()); vStsStrips.resize(StsStrips_.size()); vStsStripsB.resize(StsStripsB_.size()); vStsZPos.resize(StsZPos_.size()); vSFlag.resize(SFlag_.size()); vSFlagB.resize(SFlagB_.size()); for(unsigned int i=0; i> s; // cout << s<< " s"<> nEv; // cout << nEv<< " nEv"<vStsStrips fadata >> n; // cout << n<< " vStsStrips"<> element; vStsStrips.push_back(L1Strip(element,element2)); // fadata >> element; // vStsStrips.push_back(L1Strip(element)); } if (iVerbose >= 4) cout << "vStsStrips[" << n << "]" << " have been read." << endl; // read algo->vStsStripsB fadata >> n; // cout << n<< " vStsStripsB"<> element; vStsStripsB.push_back(L1Strip(element,element2)); // fadata >> element; // vStsStripsB.push_back(L1Strip(element)); } if (iVerbose >= 4) cout << "vStsStripsB[" << n << "]" << " have been read." << endl; // read algo->vStsZPos fadata >> n; // cout << n<< " vStsZPos"<> element; vStsZPos.push_back(element); } if (iVerbose >= 4) cout << "vStsZPos[" << n << "]" << " have been read." << endl; // read algo->vSFlag fadata >> n; // cout << n<< " vSFlagB"<> element; vSFlag.push_back(static_cast(element)); } if (iVerbose >= 4) cout << "vSFlag[" << n << "]" << " have been read." << endl; // read algo->vSFlagB fadata >> n; // cout << n<< " vSFlagB"<> element; vSFlagB.push_back(static_cast(element)); } if (iVerbose >= 4) cout << "vSFlagB[" << n << "]" << " have been read." << endl; // read algo->vStsHits fadata >> n; // McDataHit.resize(30000000); // McDataHit2.resize(30000000); // // for (int i = 0; i < int (vMCPoints.size()); i++){ // // for (int k = 0; k < int (vMCPoints[i].hitIds.size()); k++) // { // // McDataHit[vMCPoints[i].hitIds[k]]=vMCPoints[i].p; // McDataHit2[vMCPoints[i].hitIds[k]]=vMCPoints[i].mass; // // // } // } // cout << n<< " vStsHits"<> element_f >> element_b >>element_n>> element_iz >> element_time; element.f = static_cast(element_f); element.b = static_cast(element_b); // element.n = static_cast< unsigned short int>(element_n); element.iz = static_cast(element_iz); element.t_reco = element_time; vStsHits.push_back(element); } if (iVerbose >= 4) cout << "vStsHits[" << n << "]" << " have been read." << endl; // read StsHitsStartIndex and StsHitsStopIndex n = 20; for (int i = 0; i < n; i++){ int tmp; fadata >> tmp; if (MaxNStations+1 > i) StsHitsStartIndex[i] = tmp; // cout << " StsHitsStartIndex[i]"<< StsHitsStartIndex[i] << endl; // cout << tmp<< " tmp"<> tmp; if (MaxNStations+1 > i) StsHitsStopIndex[i] = tmp; // cout << " StsHitsStopIndex[i]"<< StsHitsStopIndex[i] << endl; // cout << tmp<< " tmp"<= 2 ) cout << "-I- CbmL1: CATrackFinder data for event " << nEvent << " has been read from file " << fname << " successfully." << endl; // if (nEvent == maxNEvent) fadata.close(); } nEvent++; return 1; } // void L1AlgoInputData::ReadStAPAlgoData() void L1AlgoInputData::PrintHits() { std::cout << "Event: " << std::endl; int n = vStsStrips.size(); // number of elements std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << vStsStrips[i] << std::endl; } n = vStsStripsB.size(); std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << vStsStripsB[i] << std::endl; } n = vStsZPos.size(); std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << vStsZPos[i] << std::endl; } n = vSFlag.size(); std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << static_cast(vSFlag[i]) << std::endl; } n = vSFlagB.size(); std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << static_cast(vSFlagB[i]) << std::endl; } n = vStsHits.size(); std::cout << n << std::endl; for (int i = 0; i < n; i++){ std::cout << static_cast(vStsHits[i].f) << " "; std::cout << static_cast(vStsHits[i].b) << " "; std::cout << static_cast(vStsHits[i].iz) << std::endl; } n = 20; for (int i = 0; i < n; i++){ if (MaxNStations+1 > i) std::cout << StsHitsStartIndex[i] < i) std::cout << StsHitsStopIndex[i] <