CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef HcalLutMetadata_h
00002 #define HcalLutMetadata_h
00003 
00004 /*
00005 \class HcalLutMetadata
00006 \author Gena Kukartsev 17 Sep 2009
00007 POOL object to store Hcal trigger LUT channel metadata
00008 */
00009 
00010 #include "CondFormats/HcalObjects/interface/HcalCondObjectContainer.h"
00011 #include "CondFormats/HcalObjects/interface/HcalLutMetadatum.h"
00012 
00013 class HcalLutMetadata: public HcalCondObjectContainer<HcalLutMetadatum>
00014 {
00015  public:
00016 #ifndef HCAL_COND_SUPPRESS_DEFAULT
00017   HcalLutMetadata() : HcalCondObjectContainer<HcalLutMetadatum>(0){}
00018 #endif
00019   HcalLutMetadata(const HcalTopology* topo) : HcalCondObjectContainer<HcalLutMetadatum>(topo){}
00020     
00021   std::string myname() const {return (std::string)"HcalLutMetadata";}
00022     
00023   bool  setRctLsb(float rctlsb);
00024   float getRctLsb() const {return mNonChannelData.mRctLsb;}
00025   
00026   bool  setNominalGain(float gain);
00027   float getNominalGain() const {return mNonChannelData.mNominalGain;}
00028   
00029   class NonChannelData{
00030     friend class HcalLutMetadata;
00031   public:
00032     NonChannelData():
00033       mRctLsb(0.0),
00034       mNominalGain(0.0){}
00035       
00036   protected:
00037     float mRctLsb;
00038     float mNominalGain;
00039   };
00040 
00041  protected:
00042   NonChannelData mNonChannelData;
00043 };
00044 
00045 #endif