CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalPulseShapes.h
Go to the documentation of this file.
1 #ifndef CALIBCALORIMETRY_HCALALGOS_HCALPULSESHAPES_H
2 #define CALIBCALORIMETRY_HCALALGOS_HCALPULSESHAPES_H 1
3 
4 #include <vector>
8 
15 class HcalMCParams;
16 class HcalRecoParams;
17 
19 public:
23  // only needed if you'll be geting shapes by DetId
24  void beginRun(edm::EventSetup const & es);
25  void endRun();
26 
27  const Shape& hbShape() const { return hpdShape_; }
28  const Shape& heShape() const { return hpdShape_; }
29  const Shape& hfShape() const { return hfShape_; }
30  const Shape& hoShape(bool sipm=false) const { return sipm ? siPMShape_ : hpdShape_; }
31  // return Shpape for given shapeType.
32  const Shape& getShape(int shapeType) const;
34  const Shape& shape(const HcalDetId & detId) const;
35  const Shape& shapeForReco(const HcalDetId & detId) const;
37  const Shape& defaultShape(const HcalDetId & detId) const;
38 private:
39  void computeHPDShape(float, float, float, float, float ,
40  float, float, float, Shape&);
41  // void computeHPDShape();
42  void computeHFShape();
43  void computeSiPMShape();
50  typedef std::map<int, const Shape *> ShapeMap;
52 
53 };
54 #endif
const Shape & getShape(int shapeType) const
const Shape & heShape() const
const Shape & hoShape(bool sipm=false) const
void beginRun(edm::EventSetup const &es)
const Shape & shapeForReco(const HcalDetId &detId) const
std::map< int, const Shape * > ShapeMap
const Shape & shape(const HcalDetId &detId) const
automatically figures out which shape to return
const Shape & defaultShape(const HcalDetId &detId) const
in case of conditions problems
const Shape & hfShape() const
void computeHPDShape(float, float, float, float, float, float, float, float, Shape &)
const HcalRecoParams * theRecoParams
const HcalMCParams * theMCParams
const Shape & hbShape() const
HcalPulseShape Shape
Abstract Class of shape.
Definition: Shape.h:16