CMS 3D CMS Logo

HcalShapes.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalShapes_h
2 #define HcalSimAlgos_HcalShapes_h
3 
13 #include <vector>
14 #include <map>
15 class CaloVShape;
16 class DetId;
17 
18 class HcalShapes : public CaloShapes {
19 public:
20  enum { HPD = 101, LONG = 102, ZECOTEK = 201, HAMAMATSU = 202, HE2017 = 203, HE2018 = 206, HF = 301, ZDC = 401 };
21  HcalShapes();
22  ~HcalShapes() override;
23 
25 
26  const CaloVShape* shape(const DetId& detId, bool precise = false) const override;
27 
28 private:
29  typedef std::map<int, const CaloVShape*> ShapeMap;
30  // hardcoded, if we can't figure it out from the DB
31  const CaloVShape* defaultShape(const DetId& detId, bool precise = false) const;
32  const ShapeMap& getShapeMap(bool precise) const;
37  // list of vShapes.
38  std::vector<HcalShape> theHcalShapes;
39 };
40 
41 #endif
shaper for ZDC
Definition: ZDCShape.h:15
std::map< int, const CaloVShape * > ShapeMap
Definition: HcalShapes.h:29
const CaloVShape * defaultShape(const DetId &detId, bool precise=false) const
Definition: HcalShapes.cc:63
Electronic response of the preamp.
Definition: CaloVShape.h:11
const ShapeMap & getShapeMap(bool precise) const
Definition: HcalShapes.cc:84
~HcalShapes() override
Definition: HcalShapes.cc:41
Definition: DetId.h:17
const CaloVShape * shape(const DetId &detId, bool precise=false) const override
Definition: HcalShapes.cc:48
void setDbService(const HcalDbService *service)
Definition: HcalShapes.h:24
ZDCShape theZDCShape
Definition: HcalShapes.h:36
const HcalDbService * theDbService
Definition: HcalShapes.h:33
std::vector< HcalShape > theHcalShapes
Definition: HcalShapes.h:38
ShapeMap theShapes
Definition: HcalShapes.h:34
ShapeMap theShapesPrecise
Definition: HcalShapes.h:35