File indexing completed on 2023-03-17 10:47:37
0001 #ifndef CondFormats_SiStripObjects_ApvTimingAnalysis_H
0002 #define CondFormats_SiStripObjects_ApvTimingAnalysis_H
0003
0004 #include "CondFormats/SiStripObjects/interface/CommissioningAnalysis.h"
0005 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
0006 #include <sstream>
0007 #include <vector>
0008 #include <cstdint>
0009
0010
0011
0012
0013
0014
0015 class ApvTimingAnalysis : public CommissioningAnalysis {
0016 public:
0017
0018
0019 ApvTimingAnalysis(const uint32_t& key);
0020
0021 ApvTimingAnalysis();
0022
0023 ~ApvTimingAnalysis() override { ; }
0024
0025 friend class ApvTimingAlgorithm;
0026
0027
0028
0029
0030 bool isValid() const override;
0031
0032
0033 bool foundTickMark() const;
0034
0035
0036 inline const float& time() const;
0037
0038
0039 inline const float& error() const;
0040
0041
0042 inline const float& optimumSamplingPoint() const;
0043
0044
0045 inline const float& refTime() const;
0046
0047
0048 void refTime(const float& time, const float& targetDelay = -1);
0049
0050
0051 inline const float& delay() const;
0052
0053
0054 inline const float& height() const;
0055
0056
0057 inline const float& base() const;
0058
0059
0060 inline const float& peak() const;
0061
0062
0063 uint16_t frameFindingThreshold() const;
0064
0065
0066
0067
0068 void print(std::stringstream&, uint32_t not_used = 0) override;
0069
0070
0071 inline void addErrorCode(const std::string& error) override;
0072
0073
0074 void reset() override;
0075
0076
0077
0078
0079 static const float optimumSamplingPoint_;
0080
0081
0082 static const float tickMarkHeightThreshold_;
0083
0084
0085 static const float frameFindingThreshold_;
0086
0087
0088
0089 private:
0090
0091 float time_;
0092
0093
0094 float error_;
0095
0096
0097 static float refTime_;
0098
0099
0100 float delay_;
0101
0102
0103 float height_;
0104
0105
0106 float base_;
0107
0108
0109 float peak_;
0110
0111
0112 bool synchronized_;
0113 };
0114
0115
0116
0117 const float& ApvTimingAnalysis::time() const { return time_; }
0118 const float& ApvTimingAnalysis::error() const { return error_; }
0119 const float& ApvTimingAnalysis::optimumSamplingPoint() const { return optimumSamplingPoint_; }
0120 const float& ApvTimingAnalysis::refTime() const { return refTime_; }
0121 const float& ApvTimingAnalysis::delay() const { return delay_; }
0122 const float& ApvTimingAnalysis::height() const { return height_; }
0123 const float& ApvTimingAnalysis::base() const { return base_; }
0124 const float& ApvTimingAnalysis::peak() const { return peak_; }
0125 void ApvTimingAnalysis::addErrorCode(const std::string& error) { CommissioningAnalysis::addErrorCode(error); }
0126
0127 #endif