PandaRoot
PndSdsStripHitProducerDif Class Referenceabstract

Hit Producer Task for strip detectors with electron diffusion. More...

#include <PndSdsStripHitProducerDif.h>

Inheritance diagram for PndSdsStripHitProducerDif:
PndSdsTask PndPersistencyTask

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)
 
- Public Member Functions inherited from PndSdsTask
 PndSdsTask ()
 
 PndSdsTask (const char *name, Int_t iVerbose=1)
 
virtual ~PndSdsTask ()
 
virtual void SetInBranchId ()
 
- Public Member Functions inherited from PndPersistencyTask
 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)
 
- Protected Member Functions inherited from PndSdsTask
 ClassDef (PndSdsTask, 1)
 

Protected Attributes

TString fBranchName
 
TClonesArray * fPointArray
 
TClonesArray * fStripArray
 Output array of PndSdsHits. More...
 
PndSdsStripDigiParfDigiParRect
 Digitization Parameters. More...
 
PndSdsStripDigiParfDigiParTrap
 
PndSdsStripDigiParfCurrentDigiPar
 
fDetectorType fMCPointType
 
PndSdsCalcStripDiffStripCalcTopRect
 Calculator objects. More...
 
PndSdsCalcStripDiffStripCalcBotRect
 
PndSdsCalcStripDiffStripCalcTopTrap
 
PndSdsCalcStripDiffStripCalcBotTrap
 
PndSdsCalcStripDiffCurrentStripCalcTop
 
PndSdsCalcStripDiffCurrentStripCalcBot
 
PndGeoHandlingfGeoH
 
Bool_t fOverrideParams
 
- Protected Attributes inherited from PndSdsTask
TString fInBranchName
 
TString fOutBranchName
 
TString fFolderName
 
Int_t fInBranchId
 
Int_t fOutBranchId
 

Detailed Description

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:

PndSdsStripHitProducer(Double_t, Double_t, Double_t, Double_t, TVector2, TVector2,
Int_t, Int_t, Int_t, Double_t, Double_t)


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

Author
HG Zaunick hg.za.nosp@m.unic.nosp@m.k@phy.nosp@m.sik..nosp@m.tu-dr.nosp@m.esde.nosp@m.n.de

Definition at line 67 of file PndSdsStripHitProducerDif.h.

Constructor & Destructor Documentation

◆ PndSdsStripHitProducerDif() [1/2]

PndSdsStripHitProducerDif::PndSdsStripHitProducerDif ( )

Default constructor
creates object with parameters taken implicitly from DigiPar-File

◆ PndSdsStripHitProducerDif() [2/2]

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

Parameters
topPitchstrip pitch on top side (cm)
botPitchstrip pitch on bottom side (cm)
oriOrientation angle of strips on top side (x-y-plane)
skewOrientation angle of bottom strips relative to top strips
topAnchorAnchor Point on top side. The coordinates of this point are to be in centimeters from the center (0,0) of the sensor.
botAnchorAnchor Point on bottom side. Same as above
nrTopFEnumber of frontends attached to the top sensor side
nrBotFEnumber of frontends attached to the bottom sensor side
nrFEChnumber of channels of one single frontend
thresholdcharge threshold (electrons)
noiseequiv. noise charge (electrons)

◆ ~PndSdsStripHitProducerDif()

virtual PndSdsStripHitProducerDif::~PndSdsStripHitProducerDif ( )
virtual

Destructor

Member Function Documentation

◆ AddDigi()

void PndSdsStripHitProducerDif::AddDigi ( Int_t &  iStrip,
Int_t  iPoint,
Int_t  detID,
Int_t  sensorID,
Int_t  fe,
Int_t  chan,
Double_t  charge 
)

◆ ClassDef()

PndSdsStripHitProducerDif::ClassDef ( PndSdsStripHitProducerDif  ,
 
)
protected

◆ Exec()

virtual void PndSdsStripHitProducerDif::Exec ( Option_t *  opt)
virtual

Virtual method Exec

◆ Init()

virtual InitStatus PndSdsStripHitProducerDif::Init ( )
virtual

Virtual method Init

◆ ProduceHits()

void PndSdsStripHitProducerDif::ProduceHits ( )
protected

◆ Register()

void PndSdsStripHitProducerDif::Register ( )
protected

◆ ReInit()

virtual InitStatus PndSdsStripHitProducerDif::ReInit ( )
virtual

◆ Reset()

void PndSdsStripHitProducerDif::Reset ( )
protected

◆ SelectSensorParams()

Bool_t PndSdsStripHitProducerDif::SelectSensorParams ( Int_t  sensorID)
protected

◆ SetBranchNames()

virtual void PndSdsStripHitProducerDif::SetBranchNames ( )
pure virtual

pure virtual method SetBranchNames

called by Init() function to set individual branch names

Implements PndSdsTask.

◆ SetMCPointType()

virtual void PndSdsStripHitProducerDif::SetMCPointType ( )
pure virtual

◆ SetParamSet()

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 
)

◆ SetParContainers()

virtual void PndSdsStripHitProducerDif::SetParContainers ( )
virtual

Member Data Documentation

◆ fBranchName

TString PndSdsStripHitProducerDif::fBranchName
protected

Accessor functions

Definition at line 130 of file PndSdsStripHitProducerDif.h.

◆ fCurrentDigiPar

PndSdsStripDigiPar* PndSdsStripHitProducerDif::fCurrentDigiPar
protected

Definition at line 144 of file PndSdsStripHitProducerDif.h.

◆ fCurrentStripCalcBot

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fCurrentStripCalcBot
protected

Definition at line 154 of file PndSdsStripHitProducerDif.h.

◆ fCurrentStripCalcTop

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fCurrentStripCalcTop
protected

Definition at line 153 of file PndSdsStripHitProducerDif.h.

◆ fDigiParRect

PndSdsStripDigiPar* PndSdsStripHitProducerDif::fDigiParRect
protected

Digitization Parameters.

Definition at line 142 of file PndSdsStripHitProducerDif.h.

◆ fDigiParTrap

PndSdsStripDigiPar* PndSdsStripHitProducerDif::fDigiParTrap
protected

Definition at line 143 of file PndSdsStripHitProducerDif.h.

◆ fGeoH

PndGeoHandling* PndSdsStripHitProducerDif::fGeoH
protected

Definition at line 165 of file PndSdsStripHitProducerDif.h.

◆ fMCPointType

fDetectorType PndSdsStripHitProducerDif::fMCPointType
protected

Definition at line 146 of file PndSdsStripHitProducerDif.h.

◆ fOverrideParams

Bool_t PndSdsStripHitProducerDif::fOverrideParams
protected

Definition at line 177 of file PndSdsStripHitProducerDif.h.

◆ fPointArray

TClonesArray* PndSdsStripHitProducerDif::fPointArray
protected

Input array of PndSdsMCPoints

Definition at line 134 of file PndSdsStripHitProducerDif.h.

◆ fStripArray

TClonesArray* PndSdsStripHitProducerDif::fStripArray
protected

Output array of PndSdsHits.

Array of hit strips

Definition at line 138 of file PndSdsStripHitProducerDif.h.

◆ fStripCalcBotRect

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fStripCalcBotRect
protected

Definition at line 150 of file PndSdsStripHitProducerDif.h.

◆ fStripCalcBotTrap

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fStripCalcBotTrap
protected

Definition at line 152 of file PndSdsStripHitProducerDif.h.

◆ fStripCalcTopRect

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fStripCalcTopRect
protected

Calculator objects.

Definition at line 149 of file PndSdsStripHitProducerDif.h.

◆ fStripCalcTopTrap

PndSdsCalcStripDif* PndSdsStripHitProducerDif::fStripCalcTopTrap
protected

Definition at line 151 of file PndSdsStripHitProducerDif.h.


The documentation for this class was generated from the following file: