00001 #ifndef CondFormats_SiStripObjects_OptoScanAnalysis_H 00002 #define CondFormats_SiStripObjects_OptoScanAnalysis_H 00003 00004 #include "CondFormats/SiStripObjects/interface/CommissioningAnalysis.h" 00005 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h" 00006 #include <boost/cstdint.hpp> 00007 #include <sstream> 00008 #include <vector> 00009 00015 class OptoScanAnalysis : public CommissioningAnalysis { 00016 00017 public: 00018 00019 // ---------- con(de)structors ---------- 00020 00021 OptoScanAnalysis( const uint32_t& key ); 00022 00023 OptoScanAnalysis(); 00024 00025 virtual ~OptoScanAnalysis() {;} 00026 00027 friend class OptoScanAlgorithm; 00028 00029 // ---------- public interface ---------- 00030 00032 bool isValid() const; 00033 00035 inline const uint16_t& gain() const; 00036 00038 inline const VInt& bias() const; 00039 00041 inline const VFloat& measGain() const; 00042 00044 inline const VFloat& zeroLight() const; 00045 00047 inline const VFloat& linkNoise() const; 00048 00050 inline const VFloat& liftOff() const; 00051 00053 inline const VFloat& threshold() const; 00054 00056 inline const VFloat& tickHeight() const; 00057 00059 inline const VFloat& baseSlope() const; 00060 00061 // ---------- misc ---------- 00062 00064 void print( std::stringstream&, uint32_t gain_setting = sistrip::invalid_ ); 00065 00067 void summary( std::stringstream& ) const; 00068 00070 void reset(); 00071 00072 // ---------- public static data ---------- 00073 00075 static const uint16_t defaultGainSetting_; 00076 00078 static const uint16_t defaultBiasSetting_; 00079 00081 static const float fedAdcGain_; 00082 00083 // ---------- private member data ---------- 00084 00085 private: 00086 00088 uint16_t gain_; 00089 00091 VInt bias_; 00092 00094 VFloat measGain_; 00095 00097 VFloat zeroLight_; 00098 00100 VFloat linkNoise_; 00101 00103 VFloat liftOff_; 00104 00106 VFloat threshold_; 00107 00109 VFloat tickHeight_; 00110 00112 VFloat baseSlope_; 00113 00114 }; 00115 00116 // ---------- Inline methods ---------- 00117 00118 const uint16_t& OptoScanAnalysis::gain() const { return gain_; } 00119 const OptoScanAnalysis::VInt& OptoScanAnalysis::bias() const { return bias_; } 00120 const OptoScanAnalysis::VFloat& OptoScanAnalysis::measGain() const { return measGain_; } 00121 const OptoScanAnalysis::VFloat& OptoScanAnalysis::zeroLight() const { return zeroLight_; } 00122 const OptoScanAnalysis::VFloat& OptoScanAnalysis::linkNoise() const { return linkNoise_; } 00123 const OptoScanAnalysis::VFloat& OptoScanAnalysis::liftOff() const { return liftOff_; } 00124 const OptoScanAnalysis::VFloat& OptoScanAnalysis::threshold() const { return threshold_; } 00125 const OptoScanAnalysis::VFloat& OptoScanAnalysis::tickHeight() const { return tickHeight_; } 00126 const OptoScanAnalysis::VFloat& OptoScanAnalysis::baseSlope() const { return baseSlope_; } 00127 00128 #endif // CondFormats_SiStripObjects_OptoScanAnalysis_H 00129