00001 #ifndef HcalCholeskyMatrices_h 00002 #define HcalCholeskyMatrices_h 00003 00004 #include "CondFormats/HcalObjects/interface/HcalCondObjectContainer.h" 00005 00006 #include <iostream> 00007 #include <vector> 00008 #include <string> 00009 #include "DataFormats/DetId/interface/DetId.h" 00010 #include "DataFormats/HcalDetId/interface/HcalGenericDetId.h" 00011 #include "FWCore/Utilities/interface/Exception.h" 00012 #include "CondFormats/HcalObjects/interface/HcalCholeskyMatrix.h" 00013 00014 class HcalTopology; 00015 00016 class HcalCholeskyMatrices : public HcalCondObjectContainerBase 00017 { 00018 public: 00019 #ifndef HCAL_COND_SUPPRESS_DEFAULT 00020 HcalCholeskyMatrices() : HcalCondObjectContainerBase(0) { } 00021 #endif 00022 HcalCholeskyMatrices(const HcalTopology* topo); 00023 ~HcalCholeskyMatrices(); 00024 std::string myname() const {return (std::string)"HcalCholeskyMatrices";} 00025 00026 const HcalCholeskyMatrix* getValues(DetId fId, bool throwOnFail=true) const; 00027 const bool exists(DetId fId) const; 00028 bool addValues(const HcalCholeskyMatrix& myHcalCholeskyMatrix); 00029 std::vector<DetId> getAllChannels() const; 00030 00031 private: 00032 void initContainer(DetId fId); 00033 std::vector<HcalCholeskyMatrix> HBcontainer; 00034 std::vector<HcalCholeskyMatrix> HEcontainer; 00035 std::vector<HcalCholeskyMatrix> HOcontainer; 00036 std::vector<HcalCholeskyMatrix> HFcontainer; 00037 }; 00038 00039 #endif 00040