PandaRoot
BSEmcPSATmaxAnalyser.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-----------------------------------------------------------
14 // Description:
15 // Class of TMAX filter for feature extraction
16 // Guang Zhao
17 //-----------------------------------------------------------
18 
19 #ifndef BSEMCPSATMAXANALYSER_HH
20 #define BSEMCPSATMAXANALYSER_HH
21 
22 #include <vector>
23 
24 #include "Rtypes.h"
25 #include "RtypesCore.h"
26 #include "TString.h"
27 
28 #include "BSEmcAbsPSA.h"
29 
30 class BSEmcWaveform;
31 class TBuffer;
32 class TClass;
33 class TMemberInspector;
34 
36 
37  public:
38  BSEmcPSATmaxAnalyser(const Double_t *t_coeff, Int_t t_taps, Int_t t_gap, Int_t t_samplingrate, Double_t t_hit_threshold, Double_t t_tut_peak, Double_t t_hit_val,
39  Int_t t_verbose);
40  virtual ~BSEmcPSATmaxAnalyser();
41 
42  virtual Int_t Process(const BSEmcWaveform *t_waveform) /*override*/;
43 
44  virtual void GetHit(Int_t t_idx, Double_t &t_energy, Double_t &t_time) /*override*/;
45 
46  virtual void Reset() /*override*/;
47 
48  private:
49  Double_t *fir(Double_t *, Int_t);
50  Double_t hit_det(Int_t t_tut_int);
51 
52  Int_t fTaps;
53  Int_t fGap;
54  Double_t fHitThr;
55  Double_t fTutPeak;
56  Double_t fHitVal;
57  const Double_t *fFIRCoeff;
58  Double_t fTimeStep;
59 
60  std::vector<Double_t> fEnergyList;
61  std::vector<Double_t> fTimeList;
62 
63  Int_t fVerbose;
64 
66 };
67 
68 #endif /*BSEMCPSATMAXANALYSER_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:38
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:75
virtual ~BSEmcPSATmaxAnalyser()
virtual Int_t Process(const BSEmcWaveform *t_waveform)
Find Hits in Waveform.
virtual void Reset()
reset found hits
ClassDef(BSEmcAbsPSA, 1)
virtual void GetHit(Int_t t_idx, Double_t &t_energy, Double_t &t_time)
Get energy and time of hit.
BSEmcPSATmaxAnalyser(const Double_t *t_coeff, Int_t t_taps, Int_t t_gap, Int_t t_samplingrate, Double_t t_hit_threshold, Double_t t_tut_peak, Double_t t_hit_val, Int_t t_verbose)