CMS 3D CMS Logo

PulseFitWithShape.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------
2 //----------------------------------------------------------------------
3 // File PulseFitWithShape.h
4 
5 #ifndef PulseFitWithShape_H
6 #define PulseFitWithShape_H
7 #include "TObject.h"
8 #include <vector>
9 
10 class PulseFitWithShape : public TObject {
11 public:
12  // Default Constructor, mainly for Root
14 
15  // Destructor: Does nothing
16  ~PulseFitWithShape() override;
17 
18  // Initialize
19  virtual void init(int, int, int, int, int, const std::vector<double> &, double);
20 
21  // Compute amplitude of a channel
22 
23  virtual double doFit(double *, double *cova = nullptr);
24 
25  double fAmp_fitted_max; // amplitude maximum fitted
26  double fTim_fitted_max; // time of amplitude maximum fitted
27 
28  double getAmpl() { return fAmp_fitted_max; }
29  double getTime() { return fTim_fitted_max; }
30 
31 private:
32  int fNsamples; // maximum number of samples into framelegth
33  int fNsamplesShape; // maximum number of samples into framelegth
34  double fNoise;
35 
36  std::vector<double> pshape;
37  std::vector<double> dshape;
38 
39  int fNb_iter; // maximum number of iterations
40  int fNum_samp_bef_max; // number of samples before maximum sample
41  int fNum_samp_after_max; // number of samples after maximum sample
42 
43  ClassDefOverride(PulseFitWithShape, 0)
44 };
45 
46 #endif
47 
48 //-----------------------------------------------------------------------
49 //----------------------------------------------------------------------
PulseFitWithShape::fNum_samp_bef_max
int fNum_samp_bef_max
Definition: PulseFitWithShape.h:40
PulseFitWithShape::fTim_fitted_max
double fTim_fitted_max
Definition: PulseFitWithShape.h:26
PulseFitWithShape::fAmp_fitted_max
double fAmp_fitted_max
Definition: PulseFitWithShape.h:25
PulseFitWithShape::fNum_samp_after_max
int fNum_samp_after_max
Definition: PulseFitWithShape.h:41
PulseFitWithShape::fNsamples
int fNsamples
Definition: PulseFitWithShape.h:32
PulseFitWithShape::dshape
std::vector< double > dshape
Definition: PulseFitWithShape.h:37
PulseFitWithShape::getTime
double getTime()
Definition: PulseFitWithShape.h:29
PulseFitWithShape::init
virtual void init(int, int, int, int, int, const std::vector< double > &, double)
Definition: PulseFitWithShape.cc:31
PulseFitWithShape::PulseFitWithShape
PulseFitWithShape()
Definition: PulseFitWithShape.cc:18
PulseFitWithShape::doFit
virtual double doFit(double *, double *cova=nullptr)
Definition: PulseFitWithShape.cc:60
PulseFitWithShape::fNsamplesShape
int fNsamplesShape
Definition: PulseFitWithShape.h:33
PulseFitWithShape::fNb_iter
int fNb_iter
Definition: PulseFitWithShape.h:39
PulseFitWithShape::fNoise
double fNoise
Definition: PulseFitWithShape.h:34
PulseFitWithShape::getAmpl
double getAmpl()
Definition: PulseFitWithShape.h:28
PulseFitWithShape::pshape
std::vector< double > pshape
Definition: PulseFitWithShape.h:36
PulseFitWithShape
Definition: PulseFitWithShape.h:10
PulseFitWithShape::~PulseFitWithShape
~PulseFitWithShape() override
Definition: PulseFitWithShape.cc:27