File indexing completed on 2023-03-17 10:41:19
0001 #ifndef TMatacq_H
0002 #define TMatacq_H
0003
0004 #include "TObject.h"
0005
0006 class TMatacq : public TObject {
0007 public:
0008 static constexpr int NMAXSAMP = 100;
0009 static constexpr int NSPARAB = 16;
0010
0011 private:
0012 int fNsamples;
0013 int fNum_samp_bef_max;
0014 int fNum_samp_aft_max;
0015
0016 int firstsample, lastsample, samplemax, presample, endsample;
0017 int bing[101];
0018 double nsigcut;
0019 double level1, level2, level3;
0020 double bong[NMAXSAMP];
0021 double t[NSPARAB], val[NSPARAB];
0022 double fv1[NSPARAB], fv2[NSPARAB], fv3[NSPARAB];
0023 double bl, sigbl, val_max;
0024 double ampl, timeatmax;
0025 double pkval, sigpkval;
0026 double trise;
0027 double width20, width50, width80;
0028 double meantrise, sigtrise;
0029
0030 int nevmtq0, nevmtq1, nevlasers;
0031 int status[1200];
0032 double comp_trise[1200], comp_peak[1200];
0033 double slidingmean;
0034 int nslide;
0035
0036 double interpolate(double);
0037
0038 public:
0039
0040 TMatacq(int, int, int, int, int, int, int, int, int, int, int);
0041
0042
0043 ~TMatacq() override;
0044
0045
0046 void init();
0047
0048 int rawPulseAnalysis(Int_t, Double_t*);
0049 int findPeak();
0050 int doFit();
0051 int compute_trise();
0052
0053 void enterdata(Int_t);
0054 int countBadPulses(Int_t);
0055 void printmatacqData(Int_t, Int_t, Int_t);
0056 void printitermatacqData(Int_t, Int_t, Int_t);
0057
0058 int getPt1() { return firstsample; }
0059 int getPt2() { return lastsample; }
0060 int getPtm() { return samplemax; }
0061
0062 double getBaseLine() { return bl; }
0063 double getsigBaseLine() { return sigbl; }
0064
0065 double getTimpeak() { return pkval; }
0066 double getsigTimpeak() { return sigpkval; }
0067
0068 double getAmpl() { return ampl; }
0069 double getTimax() { return timeatmax; }
0070
0071 double getTrise() { return trise; }
0072 double getFwhm() { return width50; }
0073 double getWidth20() { return width20; }
0074 double getWidth80() { return width80; }
0075 double getSlide() { return slidingmean; }
0076
0077 ClassDefOverride(TMatacq, 0)
0078 };
0079
0080 #endif