1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef __LASPROFILEJUDGE_H
#define __LASPROFILEJUDGE_H
#include <iostream>
#include <utility>
#include "Alignment/LaserAlignment/interface/LASModuleProfile.h"
///
/// check if a LASModuleProfile is usable
/// for being stored and fitted
///
class LASProfileJudge {
public:
LASProfileJudge();
bool IsSignalIn(const LASModuleProfile&, double);
bool JudgeProfile(const LASModuleProfile&, double);
void EnableZeroFilter(bool);
void SetOverdriveThreshold(unsigned int);
private:
double GetNegativity(int);
bool IsPeaksInProfile(int);
bool IsNegativePeaksInProfile(int);
bool IsOverdrive(int);
LASModuleProfile profile;
std::pair<unsigned int, double> thePeak;
bool isZeroFilter;
unsigned int overdriveThreshold;
};
#endif
|