Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:47

0001 // Shape.h
0002 //
0003 /*! \class Shape
0004  * \brief Abstract Class of shape
0005  * 
0006  *
0007 */
0008 
0009 #ifndef Shape_H
0010 #define Shape_H
0011 
0012 #include "TObject.h"
0013 
0014 class Shape : public TObject {
0015 public:
0016   //! return the value of the shape at a given time (given in clock unit)
0017   virtual double eval(double t) const = 0;
0018   //! return the value of the derivative of the shape at a given time (given in clock unit)
0019   virtual double derivative(double t) const = 0;
0020   //! return the value of the time of the max of the shape (in clock unit).
0021   virtual double getTimeOfMax() const = 0;
0022   //! Calling this method fill the shape corresponding to a given channel (tower, crystal and gain)
0023   virtual bool fillShapeFor(int tower = 0, int crystal = 0, int gain = 0) = 0;
0024 
0025   ClassDefOverride(Shape, 1)  // Definition of a general interface to pulse shapes
0026 };
0027 
0028 #endif