CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CondFormats/SiStripObjects/interface/ApvTimingAnalysis.h

Go to the documentation of this file.
00001 #ifndef CondFormats_SiStripObjects_ApvTimingAnalysis_H
00002 #define CondFormats_SiStripObjects_ApvTimingAnalysis_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 ApvTimingAnalysis : public CommissioningAnalysis {
00016   
00017  public:
00018 
00019   // ---------- con(de)structors ----------
00020   
00021   ApvTimingAnalysis( const uint32_t& key );
00022   
00023   ApvTimingAnalysis();
00024   
00025   virtual ~ApvTimingAnalysis() {;}
00026   
00027   friend class ApvTimingAlgorithm;
00028   
00029   // ---------- public interface ----------
00030   
00032   bool isValid() const;
00033   
00035   bool foundTickMark() const;
00036  
00038   inline const float& time() const; 
00039 
00041   inline const float& error() const; 
00042 
00044   inline const float& optimumSamplingPoint() const; 
00045 
00047   inline const float& refTime() const; 
00048 
00050   void refTime( const float& time, const float& targetDelay = -1 );
00051   
00053   inline const float& delay() const; 
00054 
00056   inline const float& height() const;
00057 
00059   inline const float& base() const; 
00060 
00062   inline const float& peak() const; 
00063   
00065   uint16_t frameFindingThreshold() const; 
00066   
00067   // ---------- misc ----------
00068 
00070   void print( std::stringstream&, uint32_t not_used = 0 );
00071   
00073   inline void addErrorCode( const std::string& error );
00074   
00076   void reset();
00077   
00078   // ---------- public static data ----------
00079   
00081   static const float optimumSamplingPoint_;
00082   
00084   static const float tickMarkHeightThreshold_;
00085   
00087   static const float frameFindingThreshold_;
00088   
00089   // ---------- private member data ----------
00090   
00091  private:
00092   
00094   float time_;
00095 
00097   float error_;
00098 
00100   static float refTime_;
00101   
00103   float delay_;
00104 
00106   float height_;
00107 
00109   float base_;
00110 
00112   float peak_;
00113   
00115   bool synchronized_;
00116   
00117 };
00118 
00119 // ---------- Inline methods ----------
00120 
00121 const float& ApvTimingAnalysis::time() const { return time_; }
00122 const float& ApvTimingAnalysis::error() const { return error_; }
00123 const float& ApvTimingAnalysis::optimumSamplingPoint() const { return optimumSamplingPoint_; }
00124 const float& ApvTimingAnalysis::refTime() const { return refTime_; }
00125 const float& ApvTimingAnalysis::delay() const { return delay_; }
00126 const float& ApvTimingAnalysis::height() const { return height_; }
00127 const float& ApvTimingAnalysis::base() const { return base_; }
00128 const float& ApvTimingAnalysis::peak() const { return peak_; }
00129 void ApvTimingAnalysis::addErrorCode( const std::string& error ) { CommissioningAnalysis::addErrorCode(error) ;}
00130 
00131 #endif // CondFormats_SiStripObjects_ApvTimingAnalysis_H
00132 
00133 
00134