![]() |
PandaRoot
|
Hit Producer Task for strip detectors with electron diffusion. More...
#include <PndSdsStripHitProducerDif.h>
Public Member Functions | |
PndSdsStripHitProducerDif () | |
PndSdsStripHitProducerDif (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 | ~PndSdsStripHitProducerDif () |
virtual void | SetParContainers () |
virtual InitStatus | Init () |
virtual InitStatus | ReInit () |
virtual void | SetBranchNames ()=0 |
virtual void | SetMCPointType ()=0 |
virtual void | Exec (Option_t *opt) |
void | AddDigi (Int_t &iStrip, Int_t iPoint, Int_t detID, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge) |
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) |
![]() | |
PndSdsTask () | |
PndSdsTask (const char *name, Int_t iVerbose=1) | |
virtual | ~PndSdsTask () |
virtual void | SetInBranchId () |
![]() | |
PndPersistencyTask () | |
PndPersistencyTask (const char *name, Int_t iVerbose=1) | |
virtual | ~PndPersistencyTask () |
void | SetPersistency (Bool_t val=kTRUE) |
Bool_t | GetPersistency () |
Protected Member Functions | |
void | Register () |
void | Reset () |
void | ProduceHits () |
Bool_t | SelectSensorParams (Int_t sensorID) |
ClassDef (PndSdsStripHitProducerDif, 6) | |
![]() | |
ClassDef (PndSdsTask, 1) | |
Protected Attributes | |
TString | fBranchName |
TClonesArray * | fPointArray |
TClonesArray * | fStripArray |
Output array of PndSdsHits. More... | |
PndSdsStripDigiPar * | fDigiParRect |
Digitization Parameters. More... | |
PndSdsStripDigiPar * | fDigiParTrap |
PndSdsStripDigiPar * | fCurrentDigiPar |
fDetectorType | fMCPointType |
PndSdsCalcStripDif * | fStripCalcTopRect |
Calculator objects. More... | |
PndSdsCalcStripDif * | fStripCalcBotRect |
PndSdsCalcStripDif * | fStripCalcTopTrap |
PndSdsCalcStripDif * | fStripCalcBotTrap |
PndSdsCalcStripDif * | fCurrentStripCalcTop |
PndSdsCalcStripDif * | fCurrentStripCalcBot |
PndGeoHandling * | fGeoH |
Bool_t | fOverrideParams |
![]() | |
TString | fInBranchName |
TString | fOutBranchName |
TString | fFolderName |
Int_t | fInBranchId |
Int_t | fOutBranchId |
Hit Producer Task for strip detectors with electron diffusion.
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 67 of file PndSdsStripHitProducerDif.h.
PndSdsStripHitProducerDif::PndSdsStripHitProducerDif | ( | ) |
Default constructor
creates object with parameters taken implicitly from DigiPar-File
PndSdsStripHitProducerDif::PndSdsStripHitProducerDif | ( | 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" |
||
) |
creates object with explicit assignment of Digitization parameters
topPitch | strip pitch on top side (cm) |
botPitch | strip pitch on bottom side (cm) |
ori | Orientation angle of strips on top side (x-y-plane) |
skew | Orientation angle of bottom strips relative to top strips |
topAnchor | Anchor Point on top side. The coordinates of this point are to be in centimeters from the center (0,0) of the sensor. |
botAnchor | Anchor Point on bottom side. Same as above |
nrTopFE | number of frontends attached to the top sensor side |
nrBotFE | number of frontends attached to the bottom sensor side |
nrFECh | number of channels of one single frontend |
threshold | charge threshold (electrons) |
noise | equiv. noise charge (electrons) |
|
virtual |
Destructor
void PndSdsStripHitProducerDif::AddDigi | ( | Int_t & | iStrip, |
Int_t | iPoint, | ||
Int_t | detID, | ||
Int_t | sensorID, | ||
Int_t | fe, | ||
Int_t | chan, | ||
Double_t | charge | ||
) |
|
protected |
|
virtual |
Virtual method Exec
|
virtual |
Virtual method Init
|
protected |
|
protected |
|
virtual |
|
protected |
|
protected |
|
pure virtual |
pure virtual method SetBranchNames
called by Init() function to set individual branch names
Implements PndSdsTask.
|
pure virtual |
void PndSdsStripHitProducerDif::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 | ||
) |
|
virtual |
|
protected |
Accessor functions
Definition at line 130 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 144 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 154 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 153 of file PndSdsStripHitProducerDif.h.
|
protected |
Digitization Parameters.
Definition at line 142 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 143 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 165 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 146 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 177 of file PndSdsStripHitProducerDif.h.
|
protected |
Input array of PndSdsMCPoints
Definition at line 134 of file PndSdsStripHitProducerDif.h.
|
protected |
Output array of PndSdsHits.
Array of hit strips
Definition at line 138 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 150 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 152 of file PndSdsStripHitProducerDif.h.
|
protected |
Calculator objects.
Definition at line 149 of file PndSdsStripHitProducerDif.h.
|
protected |
Definition at line 151 of file PndSdsStripHitProducerDif.h.