PandaRoot
PndSdsCalcPixelDif.h
Go to the documentation of this file.
1 #ifndef PNDSDSCALCPIXELDIF_H
2 #define PNDSDSCALCPIXELDIF_H
3 
4 #include "PndSdsPixel.h"
5 #include "FairGeoVector.h"
6 #include <iostream>
7 #include <vector>
8 //#include <XYVector.h>
9 //#include "CLHEP/Vector/TwoVector.h"
11 
25 class PndSdsPixelDigiPar;
26 
28  public:
31 
38  PndSdsCalcPixelDif(Double_t w, Double_t l, Double_t qspread = 0, Double_t threshold = 0, Double_t noise = 0, Double_t nrows = 10, Double_t ncols = 10);
39  PndSdsCalcPixelDif(const PndSdsPixelDigiPar &digi_par);
40 
42  std::vector<PndSdsPixel> GetPixels(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy);
43 
44  Int_t GetPixelsAlternative(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy, std::vector<Int_t> &cols, std::vector<Int_t> &rows,
45  std::vector<Double_t> &charges);
46 
47  void SetVerboseLevel(Int_t level) { fVerboseLevel = level; };
48  std::ostream &operator<<(std::ostream &out);
49 
50  private:
51  Double_t ChargeFromEloss(Double_t eloss) const { return eloss / (3.61e-9); }
52  void InjectPixelCharge(Int_t col, Int_t row, Double_t charge);
53 
54  std::vector<PndSdsPixel> fPixels;
55  PndSdsPixel fActivePixel;
56 
57  Double_t fPixelSizeX;
58  Double_t fPixelSizeY;
59  Double_t fRows;
60  Double_t fCols;
61  Double_t fThreshold;
62  Double_t fNoise;
63  Double_t fQspread;
64  Double_t fEnergy;
65 
66  Int_t fVerboseLevel;
67 };
68 
69 #endif
Int_t GetPixelsAlternative(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy, std::vector< Int_t > &cols, std::vector< Int_t > &rows, std::vector< Double_t > &charges)
void SetVerboseLevel(Int_t level)
std::ostream & operator<<(std::ostream &out)
std::vector< PndSdsPixel > GetPixels(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy)
Main function to calculate the vector<PndSdsPixel> of fired pixel.
PndSdsCalcPixelDif()
Default constructor.
Digitization Parameter Class for SDS-Pixel part.