CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoLocalCalo/CaloTowersCreator/interface/HcalMaterials.h

Go to the documentation of this file.
00001 #ifndef HcalMaterials_h
00002 #define HcalMaterials_h
00003 
00004 #include "DataFormats/DetId/interface/DetId.h"
00005 #include <boost/cstdint.hpp>
00006 #include  <vector>
00007 // place to implement a real working class for material corrections
00008 
00009 class HcalMaterial {
00010  public:
00011   float getValue ( float Energy){return 1.;}
00012 //  void putValue (unsigned long fId, std::pair<std::vector <float>, std::vector <float> > fArray);
00013 
00014   HcalMaterial (unsigned long fId, std::pair < std::vector <float>, std::vector <float> > fCorrs) //:
00015 //   mId (fId),
00016 //   mCorrs (fCorrs)
00017 { mId=fId;mCorrs=fCorrs;}
00018 
00019   unsigned long mmId(void){return mId;}
00020 
00021  private:
00022  unsigned long mId;
00023  std::pair<std::vector <float>, std::vector <float> > mCorrs;
00024 };
00025 
00026 class HcalMaterials {
00027  public:
00028   HcalMaterials ();
00029   ~HcalMaterials();
00030 
00031   float getValue (DetId fId, float energy);
00032   void putValue (DetId fId, std::pair<std::vector <float>, std::vector <float> > fArray);
00033 
00034   typedef HcalMaterial Item;
00035   typedef std::vector <Item> Container;
00036  private:
00037   Container mItems;
00038 
00039 };
00040 
00041 #endif