Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:51:38

0001 #ifndef CondFormats_SiStripObjects_FedTimingAnalysis_H
0002 #define CondFormats_SiStripObjects_FedTimingAnalysis_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    @class FedTimingAnalysis
0012    @author M. Wingham, R.Bainbridge
0013    @brief Analysis for timing run using APV tick marks.
0014 */
0015 
0016 class FedTimingAnalysis : public CommissioningAnalysis {
0017 public:
0018   FedTimingAnalysis(const uint32_t& key);
0019 
0020   FedTimingAnalysis();
0021 
0022   ~FedTimingAnalysis() override { ; }
0023 
0024   friend class FedTimingAlgorithm;
0025 
0026   inline const float& time() const;
0027 
0028   inline const float& max() const;
0029 
0030   inline const float& delay() const;
0031 
0032   inline const float& error() const;
0033 
0034   inline const float& base() const;
0035 
0036   inline const float& peak() const;
0037 
0038   inline const float& height() const;
0039 
0040   void max(const float&);
0041 
0042   void print(std::stringstream&, uint32_t not_used = 0) override;
0043 
0044   void reset() override;
0045 
0046 private:
0047   /** Time of tick mark rising edge [ns] */
0048   float time_;
0049 
0050   /** Maximum time set [ns] */
0051   float max_;
0052 
0053   /** Delay required, relative to maximum time [ns] */
0054   float delay_;
0055 
0056   /** Error on time delay [ns] */
0057   float error_;
0058 
0059   /** Level of tick mark "base" [adc] */
0060   float base_;
0061 
0062   /** Level of tick mark "peak" [adc] */
0063   float peak_;
0064 
0065   /** Tick mark height [adc] */
0066   float height_;
0067 
0068   /** */
0069   float optimumSamplingPoint_;
0070 };
0071 
0072 const float& FedTimingAnalysis::time() const { return time_; }
0073 const float& FedTimingAnalysis::max() const { return max_; }
0074 const float& FedTimingAnalysis::delay() const { return delay_; }
0075 const float& FedTimingAnalysis::error() const { return error_; }
0076 const float& FedTimingAnalysis::base() const { return base_; }
0077 const float& FedTimingAnalysis::peak() const { return peak_; }
0078 const float& FedTimingAnalysis::height() const { return height_; }
0079 
0080 #endif  // CondFormats_SiStripObjects_FedTimingAnalysis_H