00001 #ifndef CondFormats_EcalObjects_EcalWeightSet_HH 00002 #define CondFormats_EcalObjects_EcalWeightSet_HH 00003 00011 #include "CondFormats/EcalObjects/interface/EcalWeight.h" 00012 #include "DataFormats/EcalDigi/interface/EcalDataFrame.h" 00013 #include "DataFormats/Math/interface/Matrix.h" 00014 #include <iostream> 00015 00016 class EcalWeightSet { 00017 00018 public: 00019 00020 typedef math::Matrix<3,10>::type EcalWeightMatrix; 00021 typedef math::Matrix<10,10>::type EcalChi2WeightMatrix; 00022 00023 EcalWeightSet(); 00024 EcalWeightSet(const EcalWeightSet& aset); 00025 ~EcalWeightSet(); 00026 00027 EcalWeightMatrix& getWeightsBeforeGainSwitch() { return wgtBeforeSwitch_; } 00028 EcalWeightMatrix& getWeightsAfterGainSwitch() { return wgtAfterSwitch_; } 00029 EcalChi2WeightMatrix& getChi2WeightsBeforeGainSwitch() { return wgtChi2BeforeSwitch_; } 00030 EcalChi2WeightMatrix& getChi2WeightsAfterGainSwitch() { return wgtChi2AfterSwitch_; } 00031 00032 const EcalWeightMatrix& getWeightsBeforeGainSwitch() const { return wgtBeforeSwitch_; } 00033 const EcalWeightMatrix& getWeightsAfterGainSwitch() const { return wgtAfterSwitch_; } 00034 const EcalChi2WeightMatrix& getChi2WeightsBeforeGainSwitch() const { return wgtChi2BeforeSwitch_; } 00035 const EcalChi2WeightMatrix& getChi2WeightsAfterGainSwitch() const { return wgtChi2AfterSwitch_; } 00036 00037 EcalWeightSet& operator=(const EcalWeightSet& rhs); 00038 00039 void print(std::ostream& o) const { 00040 using namespace std; 00041 o << "wgtBeforeSwitch_.: " << wgtBeforeSwitch_ 00042 << " wgtAfterSwitch_.: " << wgtAfterSwitch_ 00043 << " wgtChi2BeforeSwitch_.: " << wgtChi2BeforeSwitch_ 00044 << " wgtChi2AfterSwitch_.: " << wgtChi2AfterSwitch_ 00045 << endl; 00046 } 00047 00048 00049 private: 00050 EcalWeightMatrix wgtBeforeSwitch_; 00051 EcalWeightMatrix wgtAfterSwitch_; 00052 EcalChi2WeightMatrix wgtChi2BeforeSwitch_; 00053 EcalChi2WeightMatrix wgtChi2AfterSwitch_; 00054 }; 00055 00056 #endif