PandaRoot
BSEmcFwEndcapDigiPar.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 #ifndef BSEMCFWENDCAPDIGIPAR_HH
15 #define BSEMCFWENDCAPDIGIPAR_HH
16 
17 #include <string>
18 
19 #include "Rtypes.h"
20 #include "RtypesCore.h"
21 #include "TArrayD.h"
22 #include "TString.h"
23 
24 #include "FairParGenericSet.h"
25 #include "FairParamList.h"
26 
27 class FairParamList;
28 class TBuffer;
29 class TClass;
30 class TMemberInspector;
31 
37 class BSEmcFwEndcapDigiPar : public FairParGenericSet {
38 
39  public:
40  static const std::string fgParameterName;
41  BSEmcFwEndcapDigiPar(const char *t_name = "BSEmcFwEndcapDigiPar", const char *t_title = "Emc forward endcap digi parameters", const char *t_context = "TestDefaultContext");
42  virtual ~BSEmcFwEndcapDigiPar(void){};
43 
44  Int_t GetUseDigiEffectiveSmearingMode() { return fUse_photon_statistic; };
45  Double_t GetQuantumEfficiency() { return fQuantumEfficiencyAPD; };
46  Double_t GetExcessNoiseFactor() { return fExcessNoiseFactorAPD; };
47  Double_t GetSensitiveArea() { return fSensitiveAreaAPD; };
48  Double_t GetDetectedPhotonsPerMeV() { return fDetectedPhotonsPerMeV; };
49  Double_t GetRearCrystalSurfaceArea() { return fRearCrystalSurfaceArea; }
50 
51  Int_t GetNBits() { return fNBits; };
52  Double_t GetPulseshapeTau() { return fPulseshapeTau; };
53  Double_t GetPulseshapeN() { return fPulseshapeN; };
54  Double_t GetPulseshapev1() { return fPulseshapev1; };
55  Double_t GetPulseshapetcr() { return fPulseshapetcr; };
56  Double_t GetPulseshapetcf() { return fPulseshapetcf; };
57  Double_t GetPulseshapet_r() { return fPulseshapet_r; };
58  Double_t GetPulseshapeRes() { return fPulseshapeRes; };
59  Double_t GetEnergyRangeHigh() { return fEnergyRangeHigh; };
60  Double_t GetEnergyRangeLow() { return fEnergyRangeLow; };
61  Double_t GetNoiseWidthHigh() { return fNoiseWidthHigh; };
62  Double_t GetNoiseWidthLow() { return fNoiseWidthLow; };
63  Double_t GetEnergyDigiThreshold() { return fEnergyDigiThreshold; };
64 
65  Double_t GetWfCutOffEnergy() { return fWfCutOffEnergy; };
66  Double_t GetTimeBeforeHit() { return fTimeBeforeHit; };
67  Double_t GetTimeAfterHit() { return fTimeAfterHit; };
68  Double_t GetSampleRate() { return fSampleRate; };
69 
70  const TArrayD &GetPsaParLow() { return fPsaParLow; }
71  const TArrayD &GetPsaParHigh() { return fPsaParHigh; }
72  const TString &GetPsaTypeLow() { return fPsaTypeLow; }
73  const TString &GetPsaTypeHigh() { return fPsaTypeHigh; }
74  const TString &GetRValueParLow() { return fRValueParaLow; }
75  const TString &GetRValueParHigh() { return fRValueParaHigh; }
76  Double_t GetSignalOverflowHigh() { return fSignalOverflowHigh; }
77 
78  virtual void putParams(FairParamList *t_list) /*override*/;
79  virtual Bool_t getParams(FairParamList *t_list) /*override*/;
80 
81  private:
82  // Empty method, WHY is this Called in constructor(FIXME)
83  virtual void clear(void) /*override*/ {};
84 
85  Int_t fUse_photon_statistic{0};
86  Double_t fQuantumEfficiencyAPD{0};
87  Double_t fExcessNoiseFactorAPD{0};
88  Double_t fSensitiveAreaAPD{0};
89  Double_t fRearCrystalSurfaceArea{0};
90  Double_t fDetectedPhotonsPerMeV{0};
91 
92  Int_t fNBits{0};
93  Double_t fPulseshapeTau{0};
94  Double_t fPulseshapeN{0};
95 
96  Double_t fPulseshapev1{0};
97  Double_t fPulseshapetcr{0};
98  Double_t fPulseshapetcf{0};
99  Double_t fPulseshapet_r{0};
100  Double_t fPulseshapeRes{0};
101 
102  Double_t fEnergyRangeHigh{0};
103  Double_t fEnergyRangeLow{0};
104  Double_t fNoiseWidthHigh{0};
105  Double_t fNoiseWidthLow{0};
106  Double_t fEnergyDigiThreshold{0};
107 
108  Double_t fTimeBeforeHit{0};
109  Double_t fTimeAfterHit{0};
110  Double_t fWfCutOffEnergy{0};
111  Double_t fSampleRate{0};
112 
113  TArrayD fPsaParLow{};
114  TArrayD fPsaParHigh{};
115  TString fPsaTypeLow{};
116  TString fPsaTypeHigh{};
117  TString fRValueParaLow{};
118  TString fRValueParaHigh{};
119  Double_t fSignalOverflowHigh{0};
120 
121  ClassDef(BSEmcFwEndcapDigiPar, 2);
122 };
123 
124 #endif /*BSEMCFWENDCAPDIGIPAR_HH*/
Double_t GetRearCrystalSurfaceArea()
const TArrayD & GetPsaParHigh()
const TString & GetPsaTypeHigh()
virtual void putParams(FairParamList *t_list)
parameter set for the FWEndcap variant of waveform simulation
virtual ~BSEmcFwEndcapDigiPar(void)
virtual Bool_t getParams(FairParamList *t_list)
const TString & GetRValueParHigh()
const TString & GetRValueParLow()
static const std::string fgParameterName
const TArrayD & GetPsaParLow()
const TString & GetPsaTypeLow()
BSEmcFwEndcapDigiPar(const char *t_name="BSEmcFwEndcapDigiPar", const char *t_title="Emc forward endcap digi parameters", const char *t_context="TestDefaultContext")