PandaRoot
BSEmcDigiPar.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 BSEMCDIGIPAR_HH
14 #define BSEMCDIGIPAR_HH
15 #include <string>
16 
17 #include "Rtypes.h"
18 #include "RtypesCore.h"
19 
20 #include "FairParGenericSet.h"
21 
22 class FairParamList;
23 class TBuffer;
24 class TClass;
25 class TMemberInspector;
26 
36 class BSEmcDigiPar : public FairParGenericSet {
37  public:
38  static const std::string fgParameterName;
39  BSEmcDigiPar(const char *t_name = "EmcDigiPar", const char *t_title = "Emc Geometry Version Flag", const char *t_context = "TestDefaultContext");
40  ~BSEmcDigiPar(void);
41  void clear(void) /*override*/;
42 
43  Int_t GetUseDigiEffectiveSmearingMode() const { return fUseDigiEffectiveSmearing; }
44  Double_t GetEnergyHitThreshold() const { return fEnergyHitThreshold; }
45  Double_t GetDetectedPhotonsPerMeV() const { return fDetectedPhotonsPerMeV; }
46  Double_t GetSensitiveArea() const { return fSensitiveArea; }
47  Double_t GetQuantumEfficiency() const { return fQuantumEfficiency; }
48  Double_t GetExcessNoiseFactor() const { return fExcessNoiseFactor; }
49  Double_t GetIncoherentElecNoiseWidthGeV() const { return fIncoherentElecNoiseWidthGeV; }
50  Double_t GetRearCrystalSurfaceArea() const { return fRearCrystalSurfaceArea; }
51  Double_t GetNPhotoElectronsPerMeV() const { return fDetectedPhotonsPerMeV * fSensitiveArea / fRearCrystalSurfaceArea * fQuantumEfficiency; }
52  Double_t GetEnergyDigiThreshold() const { return fEnergyDigiThreshold; }
53  Double_t GetOverlapTime() const { return fOverlapTime; }
54  void putParams(FairParamList * /*unused*/) /*override*/;
55  Bool_t getParams(FairParamList * /*unused*/) /*override*/;
56 
57  private:
58  Int_t fUseDigiEffectiveSmearing{-1};
59  Double_t fEnergyHitThreshold{-1};
60  Double_t fDetectedPhotonsPerMeV{-1};
61  Double_t fSensitiveArea{-1}; // mm^2
62  Double_t fQuantumEfficiency{-1};
63  Double_t fExcessNoiseFactor{-1};
64  Double_t fIncoherentElecNoiseWidthGeV{-1}; // GeV
65  Double_t fEnergyDigiThreshold{-1};
66  Double_t fRearCrystalSurfaceArea{-1}; // These is not set and needs to be set manually;
67  Double_t fNPhotoElectronsPerMeV{-1};
68  Double_t fOverlapTime{-1};
69  ClassDef(BSEmcDigiPar, 3)
70 };
71 
72 #endif /*BSEMCDIGIPAR_HH*/
Int_t GetUseDigiEffectiveSmearingMode() const
Definition: BSEmcDigiPar.h:43
void putParams(FairParamList *)
Double_t GetRearCrystalSurfaceArea() const
Definition: BSEmcDigiPar.h:50
Double_t GetEnergyDigiThreshold() const
Definition: BSEmcDigiPar.h:52
~BSEmcDigiPar(void)
static const std::string fgParameterName
Definition: BSEmcDigiPar.h:38
Double_t GetEnergyHitThreshold() const
Definition: BSEmcDigiPar.h:44
Double_t GetOverlapTime() const
Definition: BSEmcDigiPar.h:53
Bool_t getParams(FairParamList *)
BSEmcDigiPar(const char *t_name="EmcDigiPar", const char *t_title="Emc Geometry Version Flag", const char *t_context="TestDefaultContext")
Double_t GetQuantumEfficiency() const
Definition: BSEmcDigiPar.h:47
Double_t GetSensitiveArea() const
Definition: BSEmcDigiPar.h:46
void clear(void)
Double_t GetDetectedPhotonsPerMeV() const
Definition: BSEmcDigiPar.h:45
Double_t GetNPhotoElectronsPerMeV() const
Definition: BSEmcDigiPar.h:51
Double_t GetExcessNoiseFactor() const
Definition: BSEmcDigiPar.h:48
Container for runtime parameters that are required for the transformation from BSEmcMCDeposits to BSE...
Definition: BSEmcDigiPar.h:36
Double_t GetIncoherentElecNoiseWidthGeV() const
Definition: BSEmcDigiPar.h:49