28 const PulseIslandList_t& pulseList,
29 AnalysedPulseList_t& analysedList){
31 std::string bank = pulseList[0]->GetBankName();
35 for (PulseIslandList_t::const_iterator iPulse = pulseList.begin(); iPulse != pulseList.end(); ++iPulse) {
36 std::vector<int>
samples = (*iPulse)->GetSamples();
40 int s1 = pol * (samples[t1] -
ped);
41 int s2 = pol * (samples[t2] -
ped);
44 for (
int iSample = 2; iSample < (int)samples.size(); ++iSample) {
45 if (pol * (samples[iSample] - ped) > smax) {
47 smax = pol * (samples[tmax] -
ped);
49 while (s2 < (
int)cf && s2 <= smax) {
51 s1 = pol * (samples[t1] -
ped); s2 = pol * (samples[t2] -
ped);
57 if (s1 > (
int)cf || s2 < (int)cf || s1 >= s2 || smax < 0)
58 std::cout <<
"MaxBinCFAPGenerator: Warning: Sanity check failed.." std::endl;
64 double t = (double)(t2 - t1) / (double)(s2 - s1) * (cf - (double)s1) + (double)t1;
70 std::sort(analysedList.begin(), analysedList.end(),
IsTimeOrdered);