PandaRoot
PndEmcShashlykDigiPar.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 PNDEMCSHASHLYKDIGIPAR_H
15 #define PNDEMCSHASHLYKDIGIPAR_H
16 
17 #include "FairParGenericSet.h"
18 #include "FairParamList.h"
19 
20 #include "TString.h"
21 #include "TArrayD.h"
22 
27 class PndEmcShashlykDigiPar : public FairParGenericSet
28 {
29 public:
30  PndEmcShashlykDigiPar(const char *name = "PndEmcShashlykDigiPar",
31  const char *title = "Emc digi parameter",
32  const char *context = "TestDefaultContext");
34 
35  /* signal generator */
36  Int_t GetUse_photon_statistic() { return fUse_photon_statistic; }
37  Double_t GetQuantumEfficiency() { return fQuantumEfficiency; }
38  Double_t GetExcessNoiseFactor() { return fExcessNoiseFactor; }
39  Double_t GetDetectedPhotonsPerMeV() { return fDetectedPhotonsPerMeV; }
40  Double_t GetSamplingFactor() { return fSamplingFactor; }
41 
42  Double_t GetTimeBeforeHit() { return fTimeBeforeHit; }
43  Double_t GetTimeAfterHit() { return fTimeAfterHit; }
44  Double_t GetActiveTimeIncrement() { return fActiveTimeIncrement; }
45  Double_t GetWfCutOffEnergy() { return fWfCutOffEnergy; } //GeV //0.001
46  Double_t GetSampleRate() { return fSampleRate; } //ns^-1 <-> GHz //0.08
47  Int_t GetNBits() { return fNBits; } //1 //14
48  Double_t GetEnCalib() { return fEnCalib; } //MeV/channel
49  Double_t GetPulseshapeMu() { return fPulseshapeMu; } //ns //68.7
50  Double_t GetPulseshapeSigma() { return fPulseshapeSigma; } //N //1.667
51  Double_t GetNoiseWidth() { return fNoiseWidth; }
52 
53  /* feature extraction */
54  Double_t GetCFFraction() { return fCF_fraction; }
55  Int_t GetCFTap() { return fCF_tap; }
56  Int_t GetCFNSamples() { return fCF_nsamples; }
57  const TArrayD& GetCFTCorr() { return fCF_tcorr; }
58  Int_t GetOFB0() { return fOF_b0; }
59  Int_t GetOFM() { return fOF_m; }
60  const TArrayD& GetOFA() { return fOF_a; }
61  const TArrayD& GetOFB() { return fOF_b; }
62  Double_t GetADCHitThreshold() { return fADCHitThreshold; }
63  Double_t GetEnergyDigiThreshold() { return fEnergyDigiThreshold; }
64 
65  void putParams(FairParamList *list);
66  Bool_t getParams(FairParamList *list);
67 
68 private :
69  // Empty method, WHY is this Called in constructor(FIXME)
70  //void clear(void){};
71 
72  Int_t fUse_photon_statistic;
73  Double_t fQuantumEfficiency;
74  Double_t fExcessNoiseFactor;
75  Double_t fDetectedPhotonsPerMeV;
76  Double_t fSamplingFactor;
77 
78  Double_t fTimeBeforeHit;
79  Double_t fTimeAfterHit;
80  Double_t fActiveTimeIncrement;
81  Double_t fWfCutOffEnergy;
82  Double_t fSampleRate;
83  Int_t fNBits;
84  Double_t fEnCalib;
85  Double_t fPulseshapeMu;
86  Double_t fPulseshapeSigma;
87  Double_t fNoiseWidth;
88 
89  Double_t fCF_fraction;
90  Int_t fCF_tap;
91  Int_t fCF_nsamples;
92  TArrayD fCF_tcorr;
93  Int_t fOF_b0;
94  Int_t fOF_m;
95  TArrayD fOF_a;
96  TArrayD fOF_b;
97  Double_t fADCHitThreshold;
98  Double_t fEnergyDigiThreshold;
99 
100  ClassDef(PndEmcShashlykDigiPar, 1)
101 };
102 
103 #endif
void putParams(FairParamList *list)
parameter set of Emc digitisation
Bool_t getParams(FairParamList *list)
const TArrayD & GetCFTCorr()
PndEmcShashlykDigiPar(const char *name="PndEmcShashlykDigiPar", const char *title="Emc digi parameter", const char *context="TestDefaultContext")