CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CondFormats/HcalObjects/interface/HcalCholeskyMatrices.h

Go to the documentation of this file.
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