FairRoot/PandaRoot
PndSdsCalcPixel.h
Go to the documentation of this file.
1 #ifndef PNDSDSCALCPIXEL_H
2 #define PNDSDSCALCPIXEL_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 
24 {
25  public :
27  PndSdsCalcPixel();
28 
35 
37  std::vector<PndSdsPixel> GetPixels (Double_t inx, Double_t iny,
38  Double_t outx, Double_t outy, Double_t energy);
39  // Alternative in terms of I/O
40  Int_t GetPixelsAlternative(Double_t inx, Double_t iny,
41  Double_t outx, Double_t outy,
42  Double_t energy, std::vector<Int_t>& cols, std::vector<Int_t>& rows,
43  std::vector<Double_t>& charges);
44  void SetVerboseLevel(Int_t level){ fVerboseLevel = level;};
46  private :
47  std::vector<PndSdsPixel> fPixels;
54 
55  typedef enum {kQuadUNDEF, kUR, kUL, kDL, kDR} EQuadrantType;
56  typedef enum {kPixelUNDEF, kU, kD, kL, kR} ENextPixelType;
57 
60 
61  FairGeoVector fIn; //entry point of particle in sensor
62  FairGeoVector fOut; //exit point of particle out of sensor
63  FairGeoVector fDir; //direction of particle inside sensor
64  FairGeoVector fPos; //actual position of stepping inside sensor
65 
66  FairGeoVector fCon;
67 
69  Double_t fCperL; //Charge per Tracklength;
70  bool fStop;
71  void CalcConMatrix();
72  void ApplyConMatrix();
73  void CalcQuadrant();
74  void CalcCperL(Double_t Energy);
75  void CalcStartPixel(); //pixel 0,0 is in lower left corner
76  void CalcPixel();
77  void ConvertPixels();
78 
80 
81 };
82 
83 #endif
EQuadrantType fQuad
FairGeoVector fDir
FairGeoVector fOut
void CalcCperL(Double_t Energy)
Double_t SmearCharge(Double_t charge)
FairGeoVector fCon
std::vector< PndSdsPixel > fPixels
Double_t
Double_t fPixelWidth
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&lt;PndSdsPixel&gt; of fired pixel.
int cols[10]
Definition: evaltrig.C:69
FairGeoVector fIn
TFile * out
Definition: reco_muo.C:20
double threshold
ENextPixelType fNextPixel
PndSdsPixel fActivePixel
void SetVerboseLevel(Int_t level)
Calculates the pixels (digis) fired from a particle hitting the sensor.
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)
double noise
FairGeoVector fPos
Double_t fPixelLength
Double_t energy
Definition: plot_dirc.C:15
PndSdsCalcPixel()
Default constructor.
std::ostream & operator<<(std::ostream &out)