PandaRoot
PndSdsPixelDigiPar.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 //
14 // C++ Interface: PndSdsPixelDigiPar
15 //
16 #ifndef PNDSDSPIXELDIGIPAR_H
17 #define PNDSDSPIXELDIGIPAR_H
18 
19 #include <TVector2.h>
20 #include "FairParGenericSet.h"
21 #include "FairParamList.h"
22 
23 #include <iostream>
24 
26 
27 class PndSdsPixelDigiPar : public FairParGenericSet {
28  public:
29  PndSdsPixelDigiPar(const char *name = "PndSdsParTest", const char *title = "PndSds pixel digi parameter", const char *context = "TestDefaultContext");
31  void clear(void){};
32  void putParams(FairParamList *list);
33  Bool_t getParams(FairParamList *list);
34 
35  virtual void Print(std::ostream &out = std::cout) const;
36  virtual void print() { Print(); }
37 
38  friend std::ostream &operator<<(std::ostream &out, const PndSdsPixelDigiPar &dt)
39  {
40  dt.Print(out);
41  return out;
42  }
43 
44  Double_t GetXPitch() const { return fDimX; }
45  Double_t GetYPitch() const { return fDimY; }
46  Double_t GetThreshold() const { return fThreshold; }
47  Double_t GetNoise() const { return fNoise; }
48  Double_t GetQCloudSigma() const { return fCSigma; }
49  Int_t GetFECols() const { return fFeCols; }
50  Int_t GetFERows() const { return fFeRows; }
51  Int_t GetMaxFEperCol() const { return fMaxFEperCol; }
52  Int_t GetMaxFEperRow() const { return fMaxFEperRow; }
53  Double_t GetClustRadius() const { return fRadius; }
54  Double_t GetFeBusClock() const { return fFeBusClock; }
55  Double_t GetTimeStep() const { return (1. / fFeBusClock * 1000.); }
56  Int_t GetChargeConvMethod() const { return fChargeConvMethod; }
57  Double_t GetPixelSorterCellWidth() const { return fPixelSorterCellWidth; }
58  Int_t GetPixelSorterNumberOfCells() const { return fPixelSorterNumberOfCells; }
59 
60  void SetXPitch(Double_t x) { fDimX = x; }
61  void SetYPitch(Double_t x) { fDimY = x; }
62  void SetThreshold(Double_t x) { fThreshold = x; }
63  void SetNoise(Double_t x) { fNoise = x; }
64  void SetQCloudSigma(Double_t x) { fCSigma = x; }
65  void SetFECols(Int_t x) { fFeCols = x; }
66  void SetFERows(Int_t x) { fFeRows = x; }
67  void SetMaxFEperCol(Int_t x) { fMaxFEperCol = x; }
68  void SetMaxFEperRow(Int_t x) { fMaxFEperRow = x; }
69  void SetClustRadius(Double_t x) { fRadius = x; }
70  void SetFeBusClock(Double_t x) { fFeBusClock = x; }
71  void SetChargeConvMethod(Int_t x) { fChargeConvMethod = x; }
72 
73  void SetPixelSorterCellWidth(Double_t x) { fPixelSorterCellWidth = x; }
74  void SetPixelSorterNumberOfCells(Int_t x) { fPixelSorterNumberOfCells = x; }
75 
76  private:
77  // Pixel Parameters
78  Int_t fFeCols; // Colums read per Frontend
79  Int_t fFeRows; // Rows read per Frontend
80  Int_t fMaxFEperCol; // maximum number of front-end chip per column on a sensor
81  Int_t fMaxFEperRow; // maximum number of front-end chip per row on a sensor
82  Double_t fDimX; // Pixel cell size X
83  Double_t fDimY; // Pixel cell size Y
84  Double_t fRadius; // Clusterfinder search radius (channel numbers)
85  Double_t fThreshold; // Discriminator Threshold (electrons)
86  Double_t fNoise; // Gaussian electronics noise including threshold dispersion (electrons)
87  Double_t fCSigma; // Gaussian charge cloud smearing
88  Double_t fFeBusClock; // Frontend bus clock to determin noise rate
89  Int_t fChargeConvMethod; // 0: ideal conversion; 1: TOT calculation
90  Double_t fPixelSorterCellWidth; // Parameter for TimeStamp Sorter
91  Int_t fPixelSorterNumberOfCells; // Parameter for TimeStamp Sorter
92  // Text_t fSensName; // Sensor name
93  // Text_t fFeName; // Frontend name
94 
95  ClassDef(PndSdsPixelDigiPar, 5);
96 };
97 
98 #endif
void SetFeBusClock(Double_t x)
Double_t GetQCloudSigma() const
virtual void print()
Double_t GetXPitch() const
void SetXPitch(Double_t x)
Double_t GetThreshold() const
PndSdsPixelDigiPar(const char *name="PndSdsParTest", const char *title="PndSds pixel digi parameter", const char *context="TestDefaultContext")
virtual void Print(std::ostream &out=std::cout) const
Double_t GetNoise() const
Int_t GetMaxFEperCol() const
friend std::ostream & operator<<(std::ostream &out, const PndSdsPixelDigiPar &dt)
Double_t GetFeBusClock() const
void SetThreshold(Double_t x)
Double_t GetClustRadius() const
void SetNoise(Double_t x)
void SetClustRadius(Double_t x)
void SetChargeConvMethod(Int_t x)
Double_t GetPixelSorterCellWidth() const
Int_t GetMaxFEperRow() const
void putParams(FairParamList *list)
Bool_t getParams(FairParamList *list)
void SetPixelSorterNumberOfCells(Int_t x)
Int_t GetFECols() const
Double_t GetTimeStep() const
Time step of one clock cycle in ns.
Double_t GetYPitch() const
void SetMaxFEperRow(Int_t x)
void SetQCloudSigma(Double_t x)
void SetMaxFEperCol(Int_t x)
Int_t GetPixelSorterNumberOfCells() const
void SetYPitch(Double_t x)
void SetFECols(Int_t x)
Int_t GetFERows() const
void SetFERows(Int_t x)
Int_t GetChargeConvMethod() const
void SetPixelSorterCellWidth(Double_t x)
Digitization Parameter Class for SDS-Pixel part.