3 #include <mevt/ChannelRecData.h>
7 namespace MdMuonCounterAG {
10 fWindowSize(windowSize) ,
19 unsigned int nPatternMatchs = 0;
33 unsigned int firstOneIndex = 0;
34 unsigned int firstOneBin = 0;
35 bool firstOneFound =
false;
43 unsigned int sampleInitBin = 0;
44 bool vSampleInitBin =
false;
46 bool currSample = samples[ currBin ];
48 if ( currSample && !vSampleInitBin ) {
51 if (
fNumOnes == 1 || (firstOneFound && currBin- firstOneIndex + 1 ==
fNumOnes) ) {
56 sampleInitBin = firstOneBin;
57 vSampleInitBin =
true;
62 if (! firstOneFound) {
67 firstOneIndex = currBin;
68 firstOneBin = currBin;
73 firstOneFound =
false;
76 if (vSampleInitBin &&
fWindowSize < (currBin - sampleInitBin)){
78 vSampleInitBin =
false;
82 return nPatternMatchs;
unsigned int operator()(const utl::TraceB &samples, mevt::ChannelRecData &recData) const
Performs the counting.
std::vector< T >::size_type SizeType
ConsecutiveInWindowStrategy(unsigned int windowSize, unsigned int nOnes)
Creates a functor.
void AddPatternMatchBin(unsigned int bin)
Adds the time of a pattern match detection.
Template class for a FADC data or calibrated data container. Use the typedefs (TraceD, TraceI, etc.) defined in Trace-fwd.h.
Channel level reconstruction data.