CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/SimCalorimetry/HcalSimAlgos/interface/HcalShapes.h

Go to the documentation of this file.
00001 #ifndef HcalSimAlgos_HcalShapes_h
00002 #define HcalSimAlgos_HcalShapes_h
00003 
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "SimCalorimetry/CaloSimAlgos/interface/CaloShapes.h"
00010 #include "SimCalorimetry/HcalSimAlgos/interface/HcalShape.h"
00011 #include "SimCalorimetry/HcalSimAlgos/interface/HFShape.h"
00012 #include "SimCalorimetry/HcalSimAlgos/interface/ZDCShape.h"
00013 #include "SimCalorimetry/HcalSimAlgos/interface/HcalSiPMShape.h"
00014 #include <map>
00015 class CaloVShape;
00016 class DetId;
00017 class HcalMCParams;
00018 
00019 class HcalShapes : public CaloShapes
00020 {
00021 public:
00022   enum {HPD=101, LONG=102, ZECOTEK=201, HAMAMATSU=202, HF=301, ZDC=401};
00023   HcalShapes();
00024   ~HcalShapes();
00025 
00026   void beginRun(edm::EventSetup const & es);
00027   void endRun();
00028 
00029   virtual const CaloVShape * shape(const DetId & detId) const;
00030 
00031 private:
00032   // hardcoded, if we can't figure it out form the DB
00033   const CaloVShape * defaultShape(const DetId & detId) const;
00034   const HcalMCParams * theMCParams;
00035   typedef std::map<int, const CaloVShape *> ShapeMap;
00036   ShapeMap theShapes;
00037   // HcalShape theHcalShape;
00038   // HFShape theHFShape;
00039   ZDCShape theZDCShape;
00040   // HcalSiPMShape theSiPMShape;
00041   //   list of vShapes.
00042   HcalShape theHcalShape101;
00043   HcalShape theHcalShape102;
00044   HcalShape theHcalShape103;
00045   HcalShape theHcalShape104;
00046   HcalShape theHcalShape105;
00047   HcalShape theHcalShape123;
00048   HcalShape theHcalShape124;
00049   HcalShape theHcalShape125;
00050   HcalShape theHcalShape201;
00051   HcalShape theHcalShape202;
00052   HcalShape theHcalShape301;
00053   HcalShape theHcalShape401;
00054 
00055 };
00056 
00057 #endif
00058