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().