CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CastorPulseShapes.h
Go to the documentation of this file.
1 #ifndef CALIBCALORIMETRY_CASTORALGOS_CASTORPULSESHAPES_H
2 #define CALIBCALORIMETRY_CASTORALGOS_CASTORPULSESHAPES_H 1
3 
4 #include <vector>
5 
11 public:
13 
14  class Shape {
15  public:
16  Shape();
17  void setNBin(int n);
18  void setShapeBin(int i, float f);
19  float getTpeak() const { return tpeak_; }
20  float operator()(double time) const;
21  float at(double time) const;
22  float integrate(double tmin, double tmax) const;
23 
24  private:
25  std::vector<float> shape_;
26  int nbin_;
27  float tpeak_;
28  };
29 
30  const Shape& castorShape() const { return castorShape_; }
31 
32 private:
34  void computeCastorShape(Shape& s);
35 };
36 #endif
float operator()(double time) const
float at(double time) const
void setShapeBin(int i, float f)
void computeCastorShape(Shape &s)
std::vector< float > shape_
static const double tmax[3]
float integrate(double tmin, double tmax) const
const Shape & castorShape() const