24 myOmtfConfig(omtfConfig),
25 results(boost::extents[myOmtfConfig->processorCnt()][myOmtfConfig->nTestRefHits()]) {
26 for (
unsigned int iProc = 0; iProc <
results.size(); iProc++) {
27 for (
unsigned int iTestRefHit = 0; iTestRefHit <
results[iProc].size(); iTestRefHit++) {
28 results[iProc][iTestRefHit].init(omtfConfig);
36 for (
unsigned int iProc = 0; iProc <
results.size(); iProc++) {
37 for (
unsigned int iTestRefHit = 0; iTestRefHit <
results[iProc].size(); iTestRefHit++) {
38 results[iProc][iTestRefHit].init(omtfConfig);
60 phiRefHit = refStub->phiHw;
66 for (
auto& stub : layerStubs) {
70 int hitPhi = stub->phiHw;
73 hitPhi = stub->phiBHw;
88 int sign = phiDist < 0 ? -1 : 1;
93 if (
abs(phiDist) <
abs(phiDistMin)) {
118 return StubResult(0,
false, phiDistMin + pdfMiddle, iLayer, selectedStub);
126 phiDistMin += pdfMiddle;
130 return StubResult(0,
false, phiDistMin, iLayer, selectedStub);
132 return StubResult(pdfVal,
true, phiDistMin, iLayer, selectedStub);
virtual PdfValueType pdfValue(unsigned int iLayer, unsigned int iRefLayer, unsigned int iBin, int refLayerPhiB=0) const =0
bool isNoHitValueInPdf() const
unsigned int processorCnt() const
unsigned int nPhiBins() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
unsigned int getHwPatternNumber() const
virtual int meanDistPhiValue(unsigned int iLayer, unsigned int iRefLayer, int refLayerPhiB=0) const =0
unsigned int nPdfAddrBits() const
resultsArrayType & getResults()
virtual void setConfig(const OMTFConfiguration *omtfConfig)
Abs< T >::type abs(const T &t)
virtual void finalise(unsigned int procIndx)
last step of the event processing, before sorting and ghost busting
GoldenPatternBase(const Key &aKey)
std::vector< MuonStubPtr > MuonStubPtrs1D
virtual int getDistPhiBitShift(unsigned int iLayer, unsigned int iRefLayer) const =0
std::shared_ptr< const MuonStub > MuonStubPtr
virtual int foldPhi(int phi) const
virtual StubResult process1Layer1RefLayer(unsigned int iRefLayer, unsigned int iLayer, MuonStubPtrs1D layerStubs, const MuonStubPtr refStub)
unsigned int theIndexInGroup
const OMTFConfiguration * myOmtfConfig
unsigned int nTestRefHits() const
bool isBendingLayer(unsigned int iLayer) const override