Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:38

0001 #ifndef HcalMaterials_h
0002 #define HcalMaterials_h
0003 
0004 #include "DataFormats/DetId/interface/DetId.h"
0005 #include <vector>
0006 // place to implement a real working class for material corrections
0007 
0008 class HcalMaterial {
0009 public:
0010   float getValue(float Energy) { return 1.; }
0011   //  void putValue (unsigned long fId, std::pair<std::vector <float>, std::vector <float> > fArray);
0012 
0013   HcalMaterial(unsigned long fId, const std::pair<std::vector<float>, std::vector<float> >& fCorrs)  //:
0014   //   mId (fId),
0015   //   mCorrs (fCorrs)
0016   {
0017     mId = fId;
0018     mCorrs = fCorrs;
0019   }
0020 
0021   unsigned long mmId(void) { return mId; }
0022 
0023 private:
0024   unsigned long mId;
0025   std::pair<std::vector<float>, std::vector<float> > mCorrs;
0026 };
0027 
0028 class HcalMaterials {
0029 public:
0030   HcalMaterials();
0031   ~HcalMaterials();
0032 
0033   float getValue(DetId fId, float energy);
0034   void putValue(DetId fId, const std::pair<std::vector<float>, std::vector<float> >& fArray);
0035 
0036   typedef HcalMaterial Item;
0037   typedef std::vector<Item> Container;
0038 
0039 private:
0040   Container mItems;
0041 };
0042 
0043 #endif