|
FairRoot/PandaRoot
|
Class for calculating strip indices from wafer hits. More...
#include <PndSdsCalcStrip.h>
Public Member Functions | |
| PndSdsCalcStrip () | |
| PndSdsCalcStrip (Double_t pitch, Double_t orient, Int_t nrStrips, Int_t nrFeChannels, const TVector2 &firstStripAnchor, Double_t threshold, Double_t noise, Double_t csigma) | |
| PndSdsCalcStrip (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) |
| std::vector< PndSdsStrip > | GetStripsNoDif (Double_t nuIn, Double_t nuOut, Double_t Q) |
| std::vector< PndSdsStrip > | GetStripsDif (Double_t nuIn, Double_t nuOut, Double_t Q) |
| Double_t | CalcFk (Double_t strip, Double_t x, Double_t sig) |
| Int_t | GetStripsAlternative (Double_t nuIn, Double_t nuOut, Double_t Q, Int_t mode, std::vector< Int_t > &indice, std::vector< Double_t > &charges) |
| 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) |
| Double_t | GetThreshold () const |
| Double_t | GetNoise () const |
| void | Print () const |
Private Member Functions | |
| Double_t | CalcStripFromPoint (Double_t x, Double_t y) |
| Double_t | ChargeFromEloss (Double_t eloss) const |
| void | InjectStripCharge (std::vector< PndSdsStrip > &array, Int_t istrip, Double_t charge) |
| Double_t | SmearCharge (Double_t charge) |
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... | |
| Double_t | fCSigma |
| ENC. More... | |
| TVector2 | fStripDir |
| Charge diffusion. More... | |
| TVector2 | fOrthoDir |
| vector perpendicular to strip direction More... | |
| Int_t | fVerboseLevel |
| vector orthogonal to strip direction More... | |
Class for calculating strip indices from wafer hits.
Definition at line 33 of file PndSdsCalcStrip.h.
| PndSdsCalcStrip::PndSdsCalcStrip | ( | ) |
Default constructor No reason to use it
Definition at line 20 of file PndSdsCalcStrip.cxx.
| PndSdsCalcStrip::PndSdsCalcStrip | ( | Double_t | pitch, |
| Double_t | orient, | ||
| Int_t | nrStrips, | ||
| Int_t | nrFeChannels, | ||
| const TVector2 & | firstStripAnchor, | ||
| Double_t | threshold, | ||
| Double_t | noise, | ||
| Double_t | csigma = 0 |
||
| ) |
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 35 of file PndSdsCalcStrip.cxx.
References cos(), fOrient, fOrthoDir, fStripDir, and sin().
| PndSdsCalcStrip::PndSdsCalcStrip | ( | const PndSdsStripDigiPar * | digipar, |
| SensorSide | side = kTOP |
||
| ) |
Definition at line 51 of file PndSdsCalcStrip.cxx.
References cos(), fAnchor, fCSigma, fNoise, fNrFeChannels, fNrStrips, fOrient, fOrthoDir, fPitch, fStripDir, fThreshold, fVerboseLevel, PndSdsStripDigiPar::GetBotAnchor(), PndSdsStripDigiPar::GetBotPitch(), PndSdsStripDigiPar::GetNoise(), PndSdsStripDigiPar::GetNrBotFE(), PndSdsStripDigiPar::GetNrFECh(), PndSdsStripDigiPar::GetNrTopFE(), PndSdsStripDigiPar::GetOrient(), PndSdsStripDigiPar::GetQCloudSigma(), PndSdsStripDigiPar::GetSkew(), PndSdsStripDigiPar::GetThreshold(), PndSdsStripDigiPar::GetTopAnchor(), PndSdsStripDigiPar::GetTopPitch(), kBOTTOM, kTOP, Print(), and sin().
| Int_t PndSdsCalcStrip::CalcChannelfromStrip | ( | Int_t | stripNr | ) | const |
Calculate Channel index (on Frontend) from strip-index
| stripNr | strip index |
Definition at line 306 of file PndSdsCalcStrip.cxx.
References fNrFeChannels.
Referenced by PndSdsStripHitProducer::Exec().
| void PndSdsCalcStrip::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 309 of file PndSdsCalcStrip.cxx.
References fNrFeChannels, fNrStrips, kBOTTOM, and kTOP.
Referenced by PndSdsChargeWeightingAlgorithms::DigiStripno(), and PndSdsStripClusterTask::FillClusterFinders().
| Int_t PndSdsCalcStrip::CalcFEfromStrip | ( | Int_t | stripNr | ) | const |
Calculate Frontend number from strip-index
| stripNr | strip index |
Definition at line 303 of file PndSdsCalcStrip.cxx.
References fNrFeChannels.
Referenced by PndSdsStripHitProducer::Exec().
Definition at line 266 of file PndSdsCalcStrip.cxx.
References Double_t, exp(), Pi, sqrt(), t, and x.
Referenced by GetStripsDif().
Calculate continuous strip-number parameter from given Point in local system
| x | x-coordinate |
| y | y-coordinate |
Definition at line 290 of file PndSdsCalcStrip.cxx.
References fAnchor, fOrthoDir, and fPitch.
Referenced by GetStrips().
| void PndSdsCalcStrip::CalcStripPointOnLine | ( | const Double_t | strip, |
| TVector2 & | point | ||
| ) | const |
Definition at line 297 of file PndSdsCalcStrip.cxx.
References fAnchor, fOrthoDir, and fPitch.
Referenced by PndLmdStripClusterTask::Exec(), and PndSdsStripClusterTask::Exec().
|
inline |
Definition at line 118 of file PndSdsCalcStrip.h.
References fNoise.
Referenced by PndSdsChargeWeightingAlgorithms::CenterOfGravity(), PndSdsChargeWeightingAlgorithms::EtaValue(), and PndSdsChargeWeightingAlgorithms::HeadTail().
|
inline |
Get Strip Direction (strip orientation angle)
Definition at line 113 of file PndSdsCalcStrip.h.
References fStripDir.
Referenced by PndLmdStripClusterTask::Backmap(), and PndSdsStripClusterTask::Backmap().
| std::vector< PndSdsStrip > PndSdsCalcStrip::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) |
Definition at line 92 of file PndSdsCalcStrip.cxx.
References CalcStripFromPoint(), ChargeFromEloss(), Double_t, fCSigma, fVerboseLevel, GetStripsDif(), GetStripsNoDif(), and out.
Referenced by PndSdsStripHitProducer::Exec().
| Int_t PndSdsCalcStrip::GetStripsAlternative | ( | Double_t | nuIn, |
| Double_t | nuOut, | ||
| Double_t | Q, | ||
| Int_t | mode, | ||
| std::vector< Int_t > & | indice, | ||
| std::vector< Double_t > & | charges | ||
| ) |
Definition at line 273 of file PndSdsCalcStrip.cxx.
References fVerboseLevel, GetStripsDif(), GetStripsNoDif(), and i.
| std::vector< PndSdsStrip > PndSdsCalcStrip::GetStripsDif | ( | Double_t | nuIn, |
| Double_t | nuOut, | ||
| Double_t | Q | ||
| ) |
Definition at line 228 of file PndSdsCalcStrip.cxx.
References CalcFk(), Double_t, fabs(), fCSigma, fPitch, i, InjectStripCharge(), and sqrt().
Referenced by GetStrips(), and GetStripsAlternative().
| std::vector< PndSdsStrip > PndSdsCalcStrip::GetStripsNoDif | ( | Double_t | nuIn, |
| Double_t | nuOut, | ||
| Double_t | Q | ||
| ) |
Definition at line 132 of file PndSdsCalcStrip.cxx.
References Double_t, fabs(), fNrStrips, fVerboseLevel, InjectStripCharge(), and n.
Referenced by GetStrips(), and GetStripsAlternative().
|
inline |
Definition at line 117 of file PndSdsCalcStrip.h.
References fThreshold.
Referenced by PndSdsChargeWeightingAlgorithms::CenterOfGravity().
|
private |
Definition at line 323 of file PndSdsCalcStrip.cxx.
References Double_t, fNrStrips, fThreshold, fVerboseLevel, and SmearCharge().
Referenced by GetStripsDif(), and GetStripsNoDif().
| void PndSdsCalcStrip::Print | ( | ) | const |
Definition at line 344 of file PndSdsCalcStrip.cxx.
References fAnchor, fNrFeChannels, fNrStrips, fOrient, fPitch, fStripDir, and Pi.
Referenced by PndSdsCalcStrip().
|
inline |
Definition at line 115 of file PndSdsCalcStrip.h.
References fVerboseLevel.
Definition at line 336 of file PndSdsCalcStrip.cxx.
References Double_t, fNoise, and fVerboseLevel.
Referenced by InjectStripCharge().
|
private |
Nr of Channels per FE.
Definition at line 127 of file PndSdsCalcStrip.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), PndSdsCalcStrip(), and Print().
|
private |
ENC.
Definition at line 130 of file PndSdsCalcStrip.h.
Referenced by GetStrips(), GetStripsDif(), and PndSdsCalcStrip().
|
private |
charge threshold
Definition at line 129 of file PndSdsCalcStrip.h.
Referenced by GetNoise(), PndSdsCalcStrip(), and SmearCharge().
|
private |
Nr. of strips on active area.
Definition at line 126 of file PndSdsCalcStrip.h.
Referenced by CalcChannelfromStrip(), CalcFeChToStrip(), CalcFEfromStrip(), PndSdsCalcStrip(), and Print().
|
private |
strip orientation angle to x axis
Definition at line 125 of file PndSdsCalcStrip.h.
Referenced by CalcFeChToStrip(), GetStripsNoDif(), InjectStripCharge(), PndSdsCalcStrip(), and Print().
|
private |
strip pitch (cm)
Definition at line 124 of file PndSdsCalcStrip.h.
Referenced by PndSdsCalcStrip(), and Print().
|
private |
vector perpendicular to strip direction
Definition at line 132 of file PndSdsCalcStrip.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), and PndSdsCalcStrip().
|
private |
Definition at line 123 of file PndSdsCalcStrip.h.
Referenced by CalcStripFromPoint(), CalcStripPointOnLine(), GetStripsDif(), PndSdsCalcStrip(), and Print().
|
private |
Charge diffusion.
Definition at line 131 of file PndSdsCalcStrip.h.
Referenced by GetStripDirection(), PndSdsCalcStrip(), and Print().
|
private |
anchor point on first strip
Definition at line 128 of file PndSdsCalcStrip.h.
Referenced by GetThreshold(), InjectStripCharge(), and PndSdsCalcStrip().
|
private |
vector orthogonal to strip direction
Definition at line 133 of file PndSdsCalcStrip.h.
Referenced by GetStrips(), GetStripsAlternative(), GetStripsNoDif(), InjectStripCharge(), PndSdsCalcStrip(), SetVerboseLevel(), and SmearCharge().
1.8.8