30 std::vector<std::vector<unsigned int> > &histogram,
float stepMass,
33 #pragma omp parallel for 34 for(
unsigned int ui=0; ui<eposIons.size();ui++)
36 unsigned int nMultihits;
37 nMultihits =eposIons[ui].hitMultiplicity;
46 for(
unsigned int uj=0;uj<nMultihits; uj++)
48 for(
unsigned int uk=uj+1;uk<nMultihits; uk++)
52 m1 =eposIons[ui+uj].massToCharge;
53 m2 =eposIons[ui+uk].massToCharge;
58 if(x >=histogram.size() || y>=histogram.size())
68 v = &(histogram[x][y]);
86 std::vector<std::vector<unsigned int> > &histogram,
float stepMass,
87 float endMass,
bool lowerTriangular)
90 if(stepMass < sqrt(std::numeric_limits<float>::epsilon())
91 || endMass < sqrt(std::numeric_limits<float>::epsilon()) )
94 const unsigned int nBins = endMass/stepMass;
96 histogram.resize(nBins);
97 for(
unsigned int ui=0;ui<nBins;ui++)
98 histogram[ui].resize(nBins,0);
105 for(
unsigned int ui=0;ui<nBins;ui++)
107 for(
unsigned int uj=ui+1;uj<nBins;uj++)
111 histogram[uj][ui]=histogram[ui][uj];
120 std::vector<std::vector<unsigned int> > &histogram,
float stepMass,
121 float endMass,
bool lowerTriangular)
124 if(stepMass < sqrt(std::numeric_limits<float>::epsilon())
125 || endMass < sqrt(std::numeric_limits<float>::epsilon()) )
128 const unsigned int nBins = endMass/stepMass;
129 if(!histogram.size())
131 histogram.resize(nBins);
133 for(
unsigned int ui=0;ui<nBins;ui++)
134 histogram[ui].resize(nBins,0);
142 for(
unsigned int ui=0;ui<nBins;ui++)
144 for(
unsigned int uj=ui+1;uj<nBins;uj++)
148 histogram[uj][ui]=histogram[ui][uj];
bool accumulateCorrelationHistogram(const std::vector< EPOS_ENTRY > &eposIons, std::vector< std::vector< unsigned int > > &histogram, float stepMass, float endMass, bool lowerTriangular=true)
Increments a correlation histogram, as per correlationHistogram,.
bool incrementCorrelationHist(const std::vector< EPOS_ENTRY > &eposIons, std::vector< std::vector< unsigned int > > &histogram, float stepMass, float endMass)
bool correlationHistogram(const std::vector< EPOS_ENTRY > &eposIons, std::vector< std::vector< unsigned int > > &histogram, float stepMass, float endMass, bool lowerTriangular=false)
Generates an ion "correlation histogram" from a vector of EPOS ions. The input vector MUST ...