00001 #ifndef CondFormats_SiStripObjects_FedCablingAnalysis_H 00002 #define CondFormats_SiStripObjects_FedCablingAnalysis_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 #include <map> 00010 00016 class FedCablingAnalysis : public CommissioningAnalysis { 00017 00018 public: 00019 00020 // ---------- con(de)structors and typedefs ---------- 00021 00022 FedCablingAnalysis( const uint32_t& key ); 00023 00024 FedCablingAnalysis(); 00025 00026 virtual ~FedCablingAnalysis() {;} 00027 00028 typedef std::map<uint32_t,uint16_t> Candidates; 00029 00030 friend class FedCablingAlgorithm; 00031 00032 // ---------- public interface ---------- 00033 00035 bool isValid() const; 00036 00038 inline const uint16_t& fedId() const; 00039 00041 inline const uint16_t& fedCh() const; 00042 00044 inline const float& adcLevel() const; 00045 00047 inline const Candidates& candidates() const; 00048 00049 // ---------- misc ---------- 00050 00052 void print( std::stringstream&, uint32_t not_used = 0 ); 00053 00055 void reset(); 00056 00057 // ---------- public static data ---------- 00058 00059 public: 00060 00062 static const float threshold_; 00063 00064 // ---------- private member data ---------- 00065 00066 private: 00067 00069 uint16_t fedId_; 00070 00072 uint16_t fedCh_; 00073 00075 float adcLevel_; 00076 00078 Candidates candidates_; 00079 00080 }; 00081 00082 // ---------- Inline methods ---------- 00083 00084 const uint16_t& FedCablingAnalysis::fedId() const { return fedId_; } 00085 const uint16_t& FedCablingAnalysis::fedCh() const { return fedCh_; } 00086 const float& FedCablingAnalysis::adcLevel() const { return adcLevel_; } 00087 const FedCablingAnalysis::Candidates& FedCablingAnalysis::candidates() const { return candidates_; } 00088 00089 #endif // CondFormats_SiStripObjects_FedCablingAnalysis_H 00090