FairRoot/PandaRoot
|
Hit Producer Task for strip detectors. More...
#include <PndHypStripHitProducer.h>
Public Member Functions | |
PndHypStripHitProducer () | |
PndHypStripHitProducer (Double_t topPitch, Double_t botPitch, Double_t ori, Double_t skew, TVector2 topAnchor, TVector2 botAnchor, Int_t nrTopFE, Int_t nrBotFE, Int_t nrFECh, Double_t threshold, Double_t noise, TString sensorType="Rect", TString feType="APV25") | |
virtual | ~PndHypStripHitProducer () |
virtual void | SetParContainers () |
virtual InitStatus | Init () |
virtual InitStatus | ReInit () |
virtual void | Exec (Option_t *opt) |
void | SetParamSet (Double_t topPitch, Double_t botPitch, Double_t ori, Double_t skew, TVector2 topAnchor, TVector2 botAnchor, Int_t nrTopFE, Int_t nrBotFE, Int_t nrFECh, Double_t threshold, Double_t noise, TString sensorType, TString feType) |
Private Member Functions | |
void | Register () |
void | Reset () |
void | ProduceHits () |
TVector3 | GetSensorDimensions (std::string detName) const |
Bool_t | SelectSensorParams (TString detname) |
ClassDef (PndHypStripHitProducer, 5) | |
Private Attributes | |
TString | fBranchName |
TClonesArray * | fPointArray |
TClonesArray * | fHitArray |
TClonesArray * | fStripArray |
PndGeoHypPar * | fGeoPar |
PndHypStripDigiPar * | fCurrentDigiPar |
PndHypStripDigiPar * | fDigiPar |
PndHypCalcStrip * | fStripCalcTop |
PndHypCalcStrip * | fStripCalcBot |
PndHypGeoHandling * | fGeoH |
TVector2 | fTopAnchor |
Anchor Point on top side. More... | |
TVector2 | fBotAnchor |
Anchor Point on bottom side. More... | |
Bool_t | fOverrideParams |
internal Flag that controls use of Parameter Invocations More... | |
Hit Producer Task for strip detectors.
The choice of the parameters used for Digitization depends on the invocation of the different constructors of this task. Instantiating by the default constructor forces the digitisation parameters initialized from the DigiPar-Database. On the other hand these parameters may be overridden by invoking the constructor:
Basically, the sensors are thought to be rectangular (even if they are not). Knowing the origin of the wafer, the strips can be described by an angle (orientation), their separation with respect to each other (pitch) and one point that is known to be part of the first strip (anchor point).
The numbering scheme is as follows (assuming 128 channels per FE):
strip index | frontend # | side | |
0 | 0 | top | <- Top Anchor |
1 | 0 | top | |
... | 0 | top | |
127 | 0 | top | |
128 | 1 | top | |
... | 1 | top | |
255 | 1 | top | |
256 | 2 | top | |
... | ... | top | |
topNrFE*128-1 | topNrFE-1 | top | |
topNrFE*128 | topNrFE | bottom | <- Bottom Anchor |
... | topNrFE | bottom | |
topNrFE*128+127 | topNrFE | bottom | |
topNrFE*128+128 | topNrFE+1 | bottom | |
... | ... | bottom | |
(topNrFE+botNrFE)*128-1 | topNrFE+botNrFE-1 | bottom |
The numbering starts from the strip containing the anchor point following the direction orthogonal to the strips in mathematically positive sense (along x-axis in positive direction, if the strip orientation equals 90 degrees).
Definition at line 71 of file PndHypStripHitProducer.h.
PndHypStripHitProducer::PndHypStripHitProducer | ( | ) |
Default constructor
Definition at line 27 of file PndHypStripHitProducer.cxx.
References fBranchName, and fOverrideParams.
PndHypStripHitProducer::PndHypStripHitProducer | ( | Double_t | topPitch, |
Double_t | botPitch, | ||
Double_t | ori, | ||
Double_t | skew, | ||
TVector2 | topAnchor, | ||
TVector2 | botAnchor, | ||
Int_t | nrTopFE, | ||
Int_t | nrBotFE, | ||
Int_t | nrFECh, | ||
Double_t | threshold, | ||
Double_t | noise, | ||
TString | sensorType = "Rect" , |
||
TString | feType = "APV25" |
||
) |
Definition at line 51 of file PndHypStripHitProducer.cxx.
References fBranchName, fOverrideParams, and SetParamSet().
|
virtual |
|
private |
|
virtual |
Virtual method Exec
Definition at line 226 of file PndHypStripHitProducer.cxx.
References PndHypCalcStrip::CalcChannelfromStrip(), PndHypCalcStrip::CalcFEfromStrip(), Double_t, fDigiPar, fGeoH, fPointArray, fStripArray, fStripCalcBot, fStripCalcTop, fVerbose, PndHypStripDigiPar::GetBotPitch(), PndHypPoint::GetDetName(), PndHypGeoHandling::GetPath(), GetSensorDimensions(), PndHypCalcStrip::GetStrips(), PndHypStripDigiPar::GetTopPitch(), PndHypPoint::GetVolumeID(), PndHypGeoHandling::MasterToLocalId(), point, PndHypPoint::PositionIn(), PndHypPoint::PositionOut(), PndHypPoint::Print(), PndHypCalcStrip::SetAnchor(), PndHypCalcStrip::SetreStrip(), and PndHypCalcStrip::SetVerboseLevel().
|
private |
Definition at line 525 of file PndHypStripHitProducer.cxx.
References gGeoManager.
Referenced by Exec().
|
virtual |
Definition at line 150 of file PndHypStripHitProducer.cxx.
References fBranchName, fDigiPar, fGeoH, fPointArray, fStripArray, fStripCalcBot, fStripCalcTop, fVerbose, gGeoManager, kBOTTOM, kTOP, PndHypStripDigiPar::print(), and PndHypCalcStrip::SetVerboseLevel().
|
private |
|
private |
|
virtual |
Definition at line 133 of file PndHypStripHitProducer.cxx.
References SetParContainers().
|
private |
void PndHypStripHitProducer::SetParamSet | ( | Double_t | topPitch, |
Double_t | botPitch, | ||
Double_t | ori, | ||
Double_t | skew, | ||
TVector2 | topAnchor, | ||
TVector2 | botAnchor, | ||
Int_t | nrTopFE, | ||
Int_t | nrBotFE, | ||
Int_t | nrFECh, | ||
Double_t | threshold, | ||
Double_t | noise, | ||
TString | sensorType, | ||
TString | feType | ||
) |
Definition at line 80 of file PndHypStripHitProducer.cxx.
References fCurrentDigiPar, fDigiPar, fOverrideParams, PndHypStripDigiPar::SetBotAnchor(), PndHypStripDigiPar::SetBotPitch(), PndHypStripDigiPar::SetFeType(), PndHypStripDigiPar::SetNoise(), PndHypStripDigiPar::SetNrBotFE(), PndHypStripDigiPar::SetNrFECh(), PndHypStripDigiPar::SetNrTopFE(), PndHypStripDigiPar::SetOrient(), SetParContainers(), PndHypStripDigiPar::SetSensType(), PndHypStripDigiPar::SetSkew(), PndHypStripDigiPar::SetThreshold(), PndHypStripDigiPar::SetTopAnchor(), and PndHypStripDigiPar::SetTopPitch().
Referenced by PndHypStripHitProducer().
|
virtual |
Virtual method Init
Definition at line 121 of file PndHypStripHitProducer.cxx.
References fDigiPar, and rtdb.
Referenced by ReInit(), and SetParamSet().
|
private |
Anchor Point on bottom side.
Definition at line 135 of file PndHypStripHitProducer.h.
|
private |
Definition at line 107 of file PndHypStripHitProducer.h.
Referenced by Init(), and PndHypStripHitProducer().
|
private |
Definition at line 117 of file PndHypStripHitProducer.h.
Referenced by SetParamSet().
|
private |
Definition at line 118 of file PndHypStripHitProducer.h.
Referenced by Exec(), Init(), SetParamSet(), and SetParContainers().
|
private |
Definition at line 131 of file PndHypStripHitProducer.h.
Referenced by Exec(), Init(), and ~PndHypStripHitProducer().
|
private |
Definition at line 116 of file PndHypStripHitProducer.h.
|
private |
Output array of PndHypHits
Definition at line 112 of file PndHypStripHitProducer.h.
|
private |
internal Flag that controls use of Parameter Invocations
Definition at line 152 of file PndHypStripHitProducer.h.
Referenced by PndHypStripHitProducer(), and SetParamSet().
|
private |
Input array of PndHypPoints
Definition at line 109 of file PndHypStripHitProducer.h.
|
private |
Definition at line 113 of file PndHypStripHitProducer.h.
|
private |
Definition at line 120 of file PndHypStripHitProducer.h.
|
private |
Definition at line 119 of file PndHypStripHitProducer.h.
|
private |
Anchor Point on top side.
Definition at line 133 of file PndHypStripHitProducer.h.