CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/CondFormats/HcalObjects/interface/HcalCovarianceMatrices.h

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