PandaRoot
BSEmcBwEndcapOnlineFeatureExtraction.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 #ifndef BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH
14 #define BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH
15 
16 #include <PndPersistencyTask.h>
17 #include <set>
18 #include <string>
19 
20 #include "Rtypes.h"
21 #include "RtypesCore.h"
22 #include "TString.h"
23 
24 #include "BSEmcBwEndcapDigiPar.h"
25 #include "BSEmcDigi.h"
27 #include "BSEmcPSATmaxAnalyser.h"
28 
30 
31 class BSEmcAbsPSA;
32 class BSEmcAbsPulseshape;
33 class BSEmcMultiPSA;
36 class BSEmcWaveform;
37 class TBuffer;
38 class TClass;
39 class TMemberInspector;
40 
47  public:
50 
57  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
58 
64  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
65 
66  void SingleAPDMode(Bool_t t_mode = kTRUE) { fSingleAPDMode = t_mode; }
67 
68  void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
69 
70  protected:
71  Int_t fVerbose{0};
76  virtual void DefinePSA() /*override*/;
77  virtual BSEmcDigi::eGAIN GetGainType(const BSEmcWaveform *t_waveform, Int_t t_hit) const /*override*/;
78  virtual Double_t GetTimeStamp(const BSEmcWaveform * /*t_waveform*/, Double_t t_digi_time) const /*override*/ { return t_digi_time; }
79 
80  private:
81  BSEmcBwEndcapDigiPar *fDigiPar{nullptr};
82 
83  BSEmcPSAOverflowCombinator *fCombinator{nullptr};
84  BSEmcPSATmaxAnalyser *fHighgainPSA{nullptr};
85  BSEmcPSATmaxAnalyser *fLowgainPSA{nullptr};
86  Bool_t fSingleAPDMode{kFALSE};
87 
89 };
90 
91 #endif /*BSEMCBWENDCAPONLINEFEATUREEXTRACTION_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:38
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:75
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:41
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
virtual void DefinePSA()
Define PSA.