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
service
Definition: service.py:1
HcalShapes::getShapeMap
const ShapeMap & getShapeMap(bool precise) const
Definition: HcalShapes.cc:85
hltPixelTracks_cff.precise
precise
Definition: hltPixelTracks_cff.py:32
HcalShapes::setDbService
void setDbService(const HcalDbService *service)
Definition: HcalShapes.h:24
HcalShapes::theShapesPrecise
ShapeMap theShapesPrecise
Definition: HcalShapes.h:35
HcalShapes::HcalShapes
HcalShapes()
Definition: HcalShapes.cc:12
CaloShapes.h
HcalShapes::theZDCShape
ZDCShape theZDCShape
Definition: HcalShapes.h:36
HcalShapes::theDbService
const HcalDbService * theDbService
Definition: HcalShapes.h:33
DetId
Definition: DetId.h:17
HcalShapes::~HcalShapes
~HcalShapes() override
Definition: HcalShapes.cc:42
HcalShapes::theShapes
ShapeMap theShapes
Definition: HcalShapes.h:34
HcalShapes::defaultShape
const CaloVShape * defaultShape(const DetId &detId, bool precise=false) const
Definition: HcalShapes.cc:64
HcalShapes::shape
const CaloVShape * shape(const DetId &detId, bool precise=false) const override
Definition: HcalShapes.cc:49
HcalShapes::HE2017
Definition: HcalShapes.h:20
HcalShapes::LONG
Definition: HcalShapes.h:20
HcalShapes::theHcalShapes
std::vector< HcalShape > theHcalShapes
Definition: HcalShapes.h:38
HcalShapes::ZECOTEK
Definition: HcalShapes.h:20
ZDCShape
shaper for ZDC
Definition: ZDCShape.h:15
HcalShapes::ZDC
Definition: HcalShapes.h:20
HcalShapes
Definition: HcalShapes.h:18
CaloVShape
Electronic response of the preamp.
Definition: CaloVShape.h:11
CaloShapes
Definition: CaloShapes.h:9
HcalShapes::HE2018
Definition: HcalShapes.h:20
ZDCShape.h
HcalDbService
Definition: HcalDbService.h:26
Frameworkfwd.h
HcalShapes::HAMAMATSU
Definition: HcalShapes.h:20
HcalShapes::HPD
Definition: HcalShapes.h:20
HcalDbService.h
HcalShape.h
HcalShapes::ShapeMap
std::map< int, const CaloVShape * > ShapeMap
Definition: HcalShapes.h:29
HcalShapes::HF
Definition: HcalShapes.h:20