|
FairRoot/PandaRoot
|
Class for calculating strip indices from wafer hits. More...
#include <PndSdsCalcStripDif.h>
Public Member Functions | |
| PndSdsCalcStripDif () | |
| PndSdsCalcStripDif (Double_t pitch, Double_t orient, Int_t nrStrips, Int_t nrFeChannels, const TVector2 &firstStripAnchor, Double_t threshold, Double_t noise, Double_t sigma) | |
| PndSdsCalcStripDif (const PndSdsStripDigiPar *digipar, SensorSide side=kTOP) | |
| std::vector< PndSdsStrip > | GetStrips (Double_t inx, Double_t iny, Double_t inz, Double_t outx, Double_t outy, Double_t outz, Double_t eLoss) |
| Int_t | CalcFEfromStrip (Int_t stripNr) const |
| Int_t | CalcChannelfromStrip (Int_t stripNr) const |
| void | CalcFeChToStrip (Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const |
| void | CalcStripPointOnLine (const Double_t strip, TVector2 &point) const |
| const TVector2 | GetStripDirection () const |
| void | SetVerboseLevel (Int_t level) |
| std::ostream & | operator<< (std::ostream &out) |
| Double_t | ChargeDiffusion (Double_t u, Double_t a, Double_t path, Double_t dir, Double_t Q) |
| void | Print () const |
Private Member Functions | |
| Double_t | CalcStripFromPoint (Double_t x, Double_t y) |
| Double_t | SmearCharge (Double_t charge) |
| const Double_t | ChargeFromEloss (Double_t eloss) const |
Private Attributes | |
| Double_t | fPitch |
| Double_t | fOrient |
| strip pitch (cm) More... | |
| Int_t | fNrStrips |
| strip orientation angle to x axis More... | |
| Int_t | fNrFeChannels |
| Nr. of strips on active area. More... | |
| TVector2 | fAnchor |
| Nr of Channels per FE. More... | |
| Double_t | fThreshold |
| anchor point on first strip More... | |
| Double_t | fNoise |
| charge threshold More... | |
| TVector2 | fStripDir |
| ENC. More... | |
| TVector2 | fOrthoDir |
| vector perpendicular to strip direction More... | |
| TRandom3 * | fRNG |
| vector orthogonal to strip direction More... | |
| Int_t | fVerboseLevel |
| Random Number Generator. More... | |
| Double_t | fSigma |
Class for calculating strip indices from wafer hits.
Definition at line 32 of file PndSdsCalcStripDif.h.
| PndSdsCalcStripDif::PndSdsCalcStripDif | ( | ) |
Default constructor No reason to use it
Definition at line 17 of file PndSdsCalcStripDif.cxx.
References fAnchor, fNoise, fNrStrips, fOrient, fPitch, fRNG, fThreshold, and fVerboseLevel.
| PndSdsCalcStripDif::PndSdsCalcStripDif | ( | Double_t | pitch, |
| Double_t | orient, | ||
| Int_t | nrStrips, | ||
| Int_t | nrFeChannels, | ||
| const TVector2 & | firstStripAnchor, | ||
| Double_t | threshold, | ||
| Double_t | noise, | ||
| Double_t | sigma | ||
| ) |
Constructor Create Object with all necessary parameters
| pitch | Pitch between Strips (=width of strips) |
| orient | Orientation Angle of Strips in x-y-Plane from x-Axis |
| nrStrips | Number of Strips in the active area |
| nrFeChannels | Number of Channels per Frontend |
| firstStripAnchor | Coordinate in x-y-Plane which belongs to the first Strip (Index 0). Usually this is the readout point of the strip |
| threshold | Charge-Threshold applied to the signal (electrons) |
| noise | Noise superimposed to the signal (electrons) |
Definition at line 28 of file PndSdsCalcStripDif.cxx.
References cos(), fOrient, fOrthoDir, fRNG, fSigma, fStripDir, fVerboseLevel, sigma, and sin().
| PndSdsCalcStripDif::PndSdsCalcStripDif | ( | const PndSdsStripDigiPar * | digipar, |
| SensorSide | side = kTOP |
||
| ) |
Definition at line 45 of file PndSdsCalcStripDif.cxx.
References cos(), fAnchor, fNoise, fNrFeChannels, fNrStrips, fOrient, fOrthoDir, fPitch, fRNG, fStripDir, fThreshold, fVerboseLevel, PndSdsStripDigiPar::GetBotAnchor(), PndSdsStripDigiPar::GetBotPitch(), PndSdsStripDigiPar::GetNoise(), PndSdsStripDigiPar::GetNrBotFE(), PndSdsStripDigiPar::GetNrFECh(), PndSdsStripDigiPar::GetNrTopFE(), PndSdsStripDigiPar::GetOrient(), PndSdsStripDigiPar::GetSkew(), PndSdsStripDigiPar::GetThreshold(), PndSdsStripDigiPar::GetTopAnchor(), PndSdsStripDigiPar::GetTopPitch(), kBOTTOM, kTOP, Print(), and sin().
| Int_t PndSdsCalcStripDif::CalcChannelfromStrip | ( | Int_t | stripNr | ) | const |
Calculate Channel index (on Frontend) from strip-index
| stripNr | strip index |
Definition at line 438 of file PndSdsCalcStripDif.cxx.
References fNrFeChannels.
Referenced by PndSdsStripHitProducerDif::Exec().
| void PndSdsCalcStripDif::CalcFeChToStrip | ( | Int_t | fe, |
| Int_t | channel, | ||
| Int_t & | strip, | ||
| enum SensorSide & | side | ||
| ) | const |
Calculate global strip index from Frontend number and -channel
| fe | frontend number |
| channel | frontend channel |
| strip | global strip index |
| side |
Definition at line 440 of file PndSdsCalcStripDif.cxx.
References fNrFeChannels, fNrStrips, kBOTTOM, and kTOP.
| Int_t PndSdsCalcStripDif::CalcFEfromStrip | ( | Int_t | stripNr | ) | const |
Calculate Frontend number from strip-index
| stripNr | strip index |
Definition at line 436 of file PndSdsCalcStripDif.cxx.
References fNrFeChannels.
Referenced by PndSdsStripHitProducerDif::Exec().
Calculate continuous strip-number parameter from given Point in local system
| x | x-coordinate |
| y | y-coordinate |
Definition at line 425 of file PndSdsCalcStripDif.cxx.
References fAnchor, fOrthoDir, and fPitch.
Referenced by GetStrips().
| void PndSdsCalcStripDif::CalcStripPointOnLine | ( | const Double_t | strip, |
| TVector2 & | point | ||
| ) | const |
Definition at line 431 of file PndSdsCalcStripDif.cxx.
References fAnchor, fOrthoDir, and fPitch.
| Double_t PndSdsCalcStripDif::ChargeDiffusion | ( | Double_t | u, |
| Double_t | a, | ||
| Double_t | path, | ||
| Double_t | dir, | ||
| Double_t | Q | ||
| ) |
Definition at line 457 of file PndSdsCalcStripDif.cxx.
References Double_t, fSigma, n, and sqrt().
Referenced by GetStrips().
|
inline |
Get Strip Direction (strip orientation angle)
Definition at line 102 of file PndSdsCalcStripDif.h.
References fStripDir.
| std::vector< PndSdsStrip > PndSdsCalcStripDif::GetStrips | ( | Double_t | inx, |
| Double_t | iny, | ||
| Double_t | inz, | ||
| Double_t | outx, | ||
| Double_t | outy, | ||
| Double_t | outz, | ||
| Double_t | eLoss | ||
| ) |
Get List of hit channels from given Wafer hit.
| inx | x-coordinate of entry point |
| iny | y-coordinate of entry point |
| inz | z-coordinate of entry point |
| outx | x-coordinate of exit point |
| outy | y-coordinate of exit point |
| outz | z-coordinate of exit point |
| eLoss | Energy Loss inside the detector element (GeV) |
the path portion on the first and last strip
Definition at line 74 of file PndSdsCalcStripDif.cxx.
References CalcStripFromPoint(), ChargeDiffusion(), ChargeFromEloss(), Double_t, fabs(), fNrStrips, fPitch, fThreshold, fVerboseLevel, PndSdsStrip::GetIndex(), i, n, out, genfit::tools::QR(), and SmearCharge().
Referenced by PndSdsStripHitProducerDif::Exec().
| std::ostream& PndSdsCalcStripDif::operator<< | ( | std::ostream & | out | ) |
| void PndSdsCalcStripDif::Print | ( | ) | const |
Definition at line 512 of file PndSdsCalcStripDif.cxx.
References fAnchor, fNrFeChannels, fNrStrips, fOrient, fPitch, fStripDir, and Pi.
Referenced by PndSdsCalcStripDif().
|
inline |
Definition at line 104 of file PndSdsCalcStripDif.h.
References fVerboseLevel.
Referenced by PndSdsStripHitProducerDif::Init().
Apply gaussian distributed noise to given charge
| charge | Equivalent Noise Charge |
Definition at line 418 of file PndSdsCalcStripDif.cxx.
References Double_t, fNoise, fRNG, and fVerboseLevel.
Referenced by GetStrips().
|
private |
Nr of Channels per FE.
Definition at line 116 of file PndSdsCalcStripDif.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), PndSdsCalcStripDif(), and Print().
|
private |
charge threshold
Definition at line 118 of file PndSdsCalcStripDif.h.
Referenced by PndSdsCalcStripDif(), and SmearCharge().
|
private |
Nr. of strips on active area.
Definition at line 115 of file PndSdsCalcStripDif.h.
Referenced by CalcChannelfromStrip(), CalcFeChToStrip(), CalcFEfromStrip(), PndSdsCalcStripDif(), and Print().
|
private |
strip orientation angle to x axis
Definition at line 114 of file PndSdsCalcStripDif.h.
Referenced by CalcFeChToStrip(), GetStrips(), PndSdsCalcStripDif(), and Print().
|
private |
strip pitch (cm)
Definition at line 113 of file PndSdsCalcStripDif.h.
Referenced by PndSdsCalcStripDif(), and Print().
|
private |
vector perpendicular to strip direction
Definition at line 120 of file PndSdsCalcStripDif.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), and PndSdsCalcStripDif().
|
private |
Definition at line 112 of file PndSdsCalcStripDif.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), GetStrips(), PndSdsCalcStripDif(), and Print().
|
private |
vector orthogonal to strip direction
Definition at line 121 of file PndSdsCalcStripDif.h.
Referenced by PndSdsCalcStripDif(), and SmearCharge().
|
private |
Definition at line 123 of file PndSdsCalcStripDif.h.
Referenced by ChargeDiffusion(), and PndSdsCalcStripDif().
|
private |
ENC.
Definition at line 119 of file PndSdsCalcStripDif.h.
Referenced by GetStripDirection(), PndSdsCalcStripDif(), and Print().
|
private |
anchor point on first strip
Definition at line 117 of file PndSdsCalcStripDif.h.
Referenced by GetStrips(), and PndSdsCalcStripDif().
|
private |
Random Number Generator.
Definition at line 122 of file PndSdsCalcStripDif.h.
Referenced by GetStrips(), PndSdsCalcStripDif(), SetVerboseLevel(), and SmearCharge().
1.8.8