Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:13

0001 #ifndef HcalLutMetadata_h
0002 #define HcalLutMetadata_h
0003 
0004 /*
0005 \class HcalLutMetadata
0006 \author Gena Kukartsev 17 Sep 2009
0007 POOL object to store Hcal trigger LUT channel metadata
0008 */
0009 
0010 #include "CondFormats/Serialization/interface/Serializable.h"
0011 
0012 #include "CondFormats/HcalObjects/interface/HcalCondObjectContainer.h"
0013 #include "CondFormats/HcalObjects/interface/HcalLutMetadatum.h"
0014 
0015 class HcalLutMetadata : public HcalCondObjectContainer<HcalLutMetadatum> {
0016 public:
0017 #ifndef HCAL_COND_SUPPRESS_DEFAULT
0018   HcalLutMetadata() : HcalCondObjectContainer<HcalLutMetadatum>(nullptr) {}
0019 #endif
0020   HcalLutMetadata(const HcalTopology* topo) : HcalCondObjectContainer<HcalLutMetadatum>(topo) {}
0021 
0022   std::string myname() const override { return (std::string) "HcalLutMetadata"; }
0023 
0024   bool setRctLsb(float rctlsb);
0025   float getRctLsb() const { return mNonChannelData.mRctLsb; }
0026 
0027   bool setNominalGain(float gain);
0028   float getNominalGain() const { return mNonChannelData.mNominalGain; }
0029 
0030   class NonChannelData {
0031     friend class HcalLutMetadata;
0032 
0033   public:
0034     NonChannelData() : mRctLsb(0.0), mNominalGain(0.0) {}
0035 
0036   protected:
0037     float mRctLsb;
0038     float mNominalGain;
0039 
0040     COND_SERIALIZABLE;
0041   };
0042 
0043 protected:
0044   NonChannelData mNonChannelData;
0045 
0046   COND_SERIALIZABLE;
0047 };
0048 
0049 #endif