CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/CondFormats/SiStripObjects/interface/OptoScanAnalysis.h

Go to the documentation of this file.
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