PandaRoot
BSEmcBwEndcapOnlineFeatureExtraction.h
Go to the documentation of this file.
1 #ifndef BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH
2 #define BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH
3 
4 #include <PndPersistencyTask.h>
5 #include <set>
6 #include <string>
7 
8 #include "Rtypes.h"
9 #include "RtypesCore.h"
10 #include "TString.h"
11 
12 #include "BSEmcBwEndcapDigiPar.h"
13 #include "BSEmcDigi.h"
15 #include "BSEmcPSATmaxAnalyser.h"
16 
18 
19 class BSEmcAbsPSA;
20 class BSEmcAbsPulseshape;
21 class BSEmcMultiPSA;
24 class BSEmcWaveform;
25 class TBuffer;
26 class TClass;
27 class TMemberInspector;
28 
35  public:
38 
45  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
46 
52  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
53 
54  void SingleAPDMode(Bool_t t_mode = kTRUE) { fSingleAPDMode = t_mode; }
55 
56  void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
57 
58  protected:
59  Int_t fVerbose{0};
64  virtual void DefinePSA() /*override*/;
65  virtual BSEmcDigi::eGAIN GetGainType(const BSEmcWaveform *t_waveform, Int_t t_hit) const /*override*/;
66  virtual Double_t GetTimeStamp(const BSEmcWaveform * /*t_waveform*/, Double_t t_digi_time) const /*override*/ { return t_digi_time; }
67 
68  private:
69  BSEmcBwEndcapDigiPar *fDigiPar{nullptr};
70 
71  BSEmcPSAOverflowCombinator *fCombinator{nullptr};
72  BSEmcPSATmaxAnalyser *fHighgainPSA{nullptr};
73  BSEmcPSATmaxAnalyser *fLowgainPSA{nullptr};
74  Bool_t fSingleAPDMode{kFALSE};
75 
77 };
78 
79 #endif /*BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:26
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:63
Online feature extraction process intended as baseclass. Online like, but not actually online...
virtual void SetDetectorName(const std::string &t_detectorName)
Sets the detectorname and fills the parameterlist with names of all required parameter.
virtual Double_t GetTimeStamp(const BSEmcWaveform *, Double_t t_digi_time) const
Process to extract digis from BwEndcap waveforms.
parameter set of Emc digitisation
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetches the parameteres requested in SetDetectorName.
pulseshape interface
virtual BSEmcDigi::eGAIN GetGainType(const BSEmcWaveform *t_waveform, Int_t t_hit) const
Wrapping class to manage multiple independent PSAs.
Definition: BSEmcMultiPSA.h:29
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
virtual void DefinePSA()
Define PSA.