PandaRoot
BSEmcBwEndcapDigi.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 //#pragma once
14 
15 #ifndef BSEMCBWENDCAPDIGI_HH
16 #define BSEMCBWENDCAPDIGI_HH
17 
18 #include <PndPersistencyTask.h>
19 #include <set>
20 #include <string>
21 
22 #include "Rtypes.h"
23 #include "RtypesCore.h"
24 #include "TString.h"
25 
26 #include "BSEmcBwEndcapDigiPar.h"
27 #include "BSEmcDigi.h"
29 #include "BSEmcPSATmaxAnalyser.h"
30 
31 class BSEmcAbsPSA;
32 class BSEmcAbsPulseshape;
33 class BSEmcMultiPSA;
36 class BSEmcWaveform;
37 class TBuffer;
38 class TClass;
39 class TMemberInspector;
40 
49 class BSEmcBwEndcapDigi : public BSEmcExtractDigisFromWaveforms<BSEmcBwEndcapDigiPar> {
50  public:
51  // Constructors
52  BSEmcBwEndcapDigi(const std::string &t_detectorname = "BwEndcap", Bool_t t_storedigis = kTRUE);
53  // Destructor
54  virtual ~BSEmcBwEndcapDigi();
55 
56  void SingleAPDMode(Bool_t t_mode = kTRUE) { fSingleAPDMode = t_mode; }
57 
58  protected:
59  virtual void DefinePSA() /*override*/;
60  virtual Double_t GetTimeStamp(BSEmcWaveform * /*t_waveform*/, Double_t t_digi_time) const /*override*/ { return t_digi_time; }
61  virtual BSEmcDigi::eGAIN GetGainType(BSEmcWaveform *t_waveform, Int_t t_hit) const /*override*/;
62 
63  private:
64  BSEmcPSAOverflowCombinator *fCombinator{nullptr};
65  BSEmcPSATmaxAnalyser *fHighgainPSA{nullptr};
66  BSEmcPSATmaxAnalyser *fLowgainPSA{nullptr};
67  Bool_t fSingleAPDMode{kFALSE};
68 
70 };
71 
72 #endif /*BSEMCBWENDCAPDIGI_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:38
BSEmcBwEndcapDigi(const std::string &t_detectorname="BwEndcap", Bool_t t_storedigis=kTRUE)
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:75
void SingleAPDMode(Bool_t t_mode=kTRUE)
Task to create digis from waveforms.
virtual void DefinePSA()
virtual Double_t GetTimeStamp(BSEmcWaveform *, Double_t t_digi_time) const
Task to create digis from waveforms.
pulseshape interface
virtual ~BSEmcBwEndcapDigi()
virtual BSEmcDigi::eGAIN GetGainType(BSEmcWaveform *t_waveform, Int_t t_hit) const
ClassDef(BSEmcExtractDigisFromWaveforms, 1)
Wrapping class to manage multiple independent PSAs.
Definition: BSEmcMultiPSA.h:41