CMS 3D CMS Logo

TMatacq.h
Go to the documentation of this file.
1 #ifndef TMatacq_H
2 #define TMatacq_H
3 
4 #include "TObject.h"
5 
6 class TMatacq : public TObject {
7 public:
8  static constexpr int NMAXSAMP = 100;
9  static constexpr int NSPARAB = 16;
10 
11 private:
12  int fNsamples;
15 
17  int bing[101];
18  double nsigcut;
19  double level1, level2, level3;
20  double bong[NMAXSAMP];
21  double t[NSPARAB], val[NSPARAB];
23  double bl, sigbl, val_max;
24  double ampl, timeatmax;
25  double pkval, sigpkval;
26  double trise;
29 
31  int status[1200];
32  double comp_trise[1200], comp_peak[1200];
33  double slidingmean;
34  int nslide;
35 
36  double interpolate(double);
37 
38 public:
39  // Default Constructor, mainly for Root
40  TMatacq(int, int, int, int, int, int, int, int, int, int, int);
41 
42  // Destructor: Does nothing
43  ~TMatacq() override;
44 
45  // Initialize
46  void init();
47 
48  int rawPulseAnalysis(Int_t, Double_t*); // GHM
49  int findPeak();
50  int doFit();
51  int compute_trise();
52 
53  void enterdata(Int_t);
54  int countBadPulses(Int_t);
55  void printmatacqData(Int_t, Int_t, Int_t);
56  void printitermatacqData(Int_t, Int_t, Int_t);
57 
58  int getPt1() { return firstsample; }
59  int getPt2() { return lastsample; }
60  int getPtm() { return samplemax; }
61 
62  double getBaseLine() { return bl; }
63  double getsigBaseLine() { return sigbl; }
64 
65  double getTimpeak() { return pkval; }
66  double getsigTimpeak() { return sigpkval; }
67 
68  double getAmpl() { return ampl; }
69  double getTimax() { return timeatmax; }
70 
71  double getTrise() { return trise; }
72  double getFwhm() { return width50; }
73  double getWidth20() { return width20; }
74  double getWidth80() { return width80; }
75  double getSlide() { return slidingmean; }
76 
77  ClassDefOverride(TMatacq, 0)
78 };
79 
80 #endif
TMatacq::bong
double bong[NMAXSAMP]
Definition: TMatacq.h:20
TMatacq::getPt2
int getPt2()
Definition: TMatacq.h:59
TMatacq::sigtrise
double sigtrise
Definition: TMatacq.h:28
TMatacq::comp_trise
double comp_trise[1200]
Definition: TMatacq.h:32
TMatacq::bl
double bl
Definition: TMatacq.h:23
TMatacq::fv3
double fv3[NSPARAB]
Definition: TMatacq.h:22
TMatacq::val_max
double val_max
Definition: TMatacq.h:23
TMatacq::slidingmean
double slidingmean
Definition: TMatacq.h:33
TMatacq::level1
double level1
Definition: TMatacq.h:19
TMatacq
Definition: TMatacq.h:6
TMatacq::TMatacq
TMatacq(int, int, int, int, int, int, int, int, int, int, int)
Definition: TMatacq.cc:31
TMatacq::compute_trise
int compute_trise()
Definition: TMatacq.cc:353
TMatacq::fv2
double fv2[NSPARAB]
Definition: TMatacq.h:22
TMatacq::countBadPulses
int countBadPulses(Int_t)
Definition: TMatacq.cc:490
TMatacq::width20
double width20
Definition: TMatacq.h:27
TMatacq::doFit
int doFit()
Definition: TMatacq.cc:219
TMatacq::getsigBaseLine
double getsigBaseLine()
Definition: TMatacq.h:63
TMatacq::getPtm
int getPtm()
Definition: TMatacq.h:60
TMatacq::getTimpeak
double getTimpeak()
Definition: TMatacq.h:65
TMatacq::level2
double level2
Definition: TMatacq.h:19
TMatacq::rawPulseAnalysis
int rawPulseAnalysis(Int_t, Double_t *)
Definition: TMatacq.cc:57
TMatacq::printmatacqData
void printmatacqData(Int_t, Int_t, Int_t)
Definition: TMatacq.cc:431
TMatacq::getsigTimpeak
double getsigTimpeak()
Definition: TMatacq.h:66
TMatacq::nevlasers
int nevlasers
Definition: TMatacq.h:30
TMatacq::pkval
double pkval
Definition: TMatacq.h:25
TMatacq::firstsample
int firstsample
Definition: TMatacq.h:16
TMatacq::presample
int presample
Definition: TMatacq.h:16
TMatacq::status
int status[1200]
Definition: TMatacq.h:31
TMatacq::getTimax
double getTimax()
Definition: TMatacq.h:69
TMatacq::bing
int bing[101]
Definition: TMatacq.h:17
TMatacq::enterdata
void enterdata(Int_t)
Definition: TMatacq.cc:403
TMatacq::nevmtq1
int nevmtq1
Definition: TMatacq.h:30
TMatacq::getAmpl
double getAmpl()
Definition: TMatacq.h:68
TMatacq::sigpkval
double sigpkval
Definition: TMatacq.h:25
TMatacq::meantrise
double meantrise
Definition: TMatacq.h:28
TMatacq::getWidth80
double getWidth80()
Definition: TMatacq.h:74
TMatacq::~TMatacq
~TMatacq() override
Definition: TMatacq.cc:55
TMatacq::samplemax
int samplemax
Definition: TMatacq.h:16
TMatacq::getWidth20
double getWidth20()
Definition: TMatacq.h:73
TMatacq::level3
double level3
Definition: TMatacq.h:19
TMatacq::ampl
double ampl
Definition: TMatacq.h:24
TMatacq::printitermatacqData
void printitermatacqData(Int_t, Int_t, Int_t)
Definition: TMatacq.cc:517
TMatacq::lastsample
int lastsample
Definition: TMatacq.h:16
TMatacq::getSlide
double getSlide()
Definition: TMatacq.h:75
TMatacq::nsigcut
double nsigcut
Definition: TMatacq.h:18
TMatacq::comp_peak
double comp_peak[1200]
Definition: TMatacq.h:32
TMatacq::findPeak
int findPeak()
Definition: TMatacq.cc:136
TMatacq::getFwhm
double getFwhm()
Definition: TMatacq.h:72
TMatacq::fNsamples
int fNsamples
Definition: TMatacq.h:12
TMatacq::NSPARAB
static constexpr int NSPARAB
Definition: TMatacq.h:9
TMatacq::width80
double width80
Definition: TMatacq.h:27
TMatacq::getPt1
int getPt1()
Definition: TMatacq.h:58
TMatacq::getBaseLine
double getBaseLine()
Definition: TMatacq.h:62
TMatacq::val
double val[NSPARAB]
Definition: TMatacq.h:21
TMatacq::fNum_samp_aft_max
int fNum_samp_aft_max
Definition: TMatacq.h:14
TMatacq::NMAXSAMP
static constexpr int NMAXSAMP
Definition: TMatacq.h:8
TMatacq::nslide
int nslide
Definition: TMatacq.h:34
TMatacq::getTrise
double getTrise()
Definition: TMatacq.h:71
TMatacq::interpolate
double interpolate(double)
Definition: TMatacq.cc:372
TMatacq::trise
double trise
Definition: TMatacq.h:26
TMatacq::fNum_samp_bef_max
int fNum_samp_bef_max
Definition: TMatacq.h:13
TMatacq::nevmtq0
int nevmtq0
Definition: TMatacq.h:30
TMatacq::init
void init()
Definition: TMatacq.cc:17
TMatacq::sigbl
double sigbl
Definition: TMatacq.h:23
TMatacq::width50
double width50
Definition: TMatacq.h:27
TMatacq::endsample
int endsample
Definition: TMatacq.h:16
TMatacq::t
double t[NSPARAB]
Definition: TMatacq.h:21
TMatacq::timeatmax
double timeatmax
Definition: TMatacq.h:24
TMatacq::fv1
double fv1[NSPARAB]
Definition: TMatacq.h:22