PandaRoot
PndSdsStripHitProducer Class Referenceabstract

Hit Producer Task for strip detectors. More...

#include <PndSdsStripHitProducer.h>

Inheritance diagram for PndSdsStripHitProducer:
PndSdsTask PndPersistencyTask PndLmdStripHitProducer PndMvdStripHitProducer

Public Member Functions

 PndSdsStripHitProducer ()
 
 PndSdsStripHitProducer (PndSdsStripHitProducer &other)
 
 PndSdsStripHitProducer (const char *name)
 
virtual ~PndSdsStripHitProducer ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual InitStatus ReInit ()
 
virtual void SetBranchNames ()=0
 
virtual void SetMCPointType ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishEvent ()
 
virtual void FinishTask ()
 
void AddDigi (Int_t &iStrip, Int_t iPoint, Int_t detID, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge)
 
void RunTimeBased ()
 
PndSdsStripHitProduceroperator= (PndSdsStripHitProducer &other)
 
- 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 ()
 
virtual void SetCalculators ()
 
Bool_t SelectSensorParams (Int_t sensorID)
 
Double_t DigitizeTime (Double_t time, Double_t charge)
 
 ClassDef (PndSdsStripHitProducer, 5)
 
- Protected Member Functions inherited from PndSdsTask
 ClassDef (PndSdsTask, 1)
 

Protected Attributes

TClonesArray * fPointArray
 
TClonesArray * fStripArray
 Output array of PndSdsHits. More...
 
FairWriteoutBuffer * fDataBuffer
 
TList * fDigiParameterList
 Digitization Parameters. More...
 
TList * fChargeDigiParameterList
 
PndSdsStripDigiParfCurrentDigiPar
 
PndSdsChargeConversionfCurrentChargeConverter
 
std::map< const char *, PndSdsCalcStrip * > fStripCalcTop
 Calculator objects. More...
 
std::map< const char *, PndSdsCalcStrip * > fStripCalcBot
 
std::map< const char *, PndSdsChargeConversion * > fChargeConverter
 
PndSdsCalcStripfCurrentStripCalcTop
 
PndSdsCalcStripfCurrentStripCalcBot
 
FairMCEventHeader * fMcEventHeader
 
PndGeoHandlingfGeoH
 
Bool_t fOverrideParams
 ///< converter for detector names More...
 
Bool_t fTimeOrderedDigi
 parameter to switch to time ordered simulation More...
 
Int_t fEventNr
 EventCounter. More...
 
- 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.

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 70 of file PndSdsStripHitProducer.h.

Constructor & Destructor Documentation

◆ PndSdsStripHitProducer() [1/3]

PndSdsStripHitProducer::PndSdsStripHitProducer ( )

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

Referenced by PndSdsStripHitProducer().

◆ PndSdsStripHitProducer() [2/3]

PndSdsStripHitProducer::PndSdsStripHitProducer ( PndSdsStripHitProducer other)
inline

Definition at line 77 of file PndSdsStripHitProducer.h.

References Init(), PndSdsStripHitProducer(), ReInit(), SetBranchNames(), SetParContainers(), and ~PndSdsStripHitProducer().

TList * fDigiParameterList
Digitization Parameters.
std::map< const char *, PndSdsCalcStrip * > fStripCalcTop
Calculator objects.
std::map< const char *, PndSdsChargeConversion * > fChargeConverter
std::map< const char *, PndSdsCalcStrip * > fStripCalcBot
Bool_t fTimeOrderedDigi
parameter to switch to time ordered simulation
FairWriteoutBuffer * fDataBuffer
Int_t fEventNr
EventCounter.
PndSdsStripDigiPar * fCurrentDigiPar
PndSdsChargeConversion * fCurrentChargeConverter
TClonesArray * fStripArray
Output array of PndSdsHits.
FairMCEventHeader * fMcEventHeader
Bool_t fOverrideParams
///< converter for detector names
PndSdsCalcStrip * fCurrentStripCalcBot
PndSdsCalcStrip * fCurrentStripCalcTop

◆ PndSdsStripHitProducer() [3/3]

PndSdsStripHitProducer::PndSdsStripHitProducer ( const char *  name)

Like default Constructor, but passes a name to PndSdsTask

◆ ~PndSdsStripHitProducer()

virtual PndSdsStripHitProducer::~PndSdsStripHitProducer ( )
virtual

Destructor

Referenced by PndSdsStripHitProducer().

Member Function Documentation

◆ AddDigi()

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

Referenced by SetMCPointType().

◆ ClassDef()

PndSdsStripHitProducer::ClassDef ( PndSdsStripHitProducer  ,
 
)
protected

◆ DigitizeTime()

Double_t PndSdsStripHitProducer::DigitizeTime ( Double_t  time,
Double_t  charge 
)
protected

◆ Exec()

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

Virtual method Exec

Referenced by SetMCPointType().

◆ FinishEvent()

virtual void PndSdsStripHitProducer::FinishEvent ( )
virtual

Referenced by SetMCPointType().

◆ FinishTask()

virtual void PndSdsStripHitProducer::FinishTask ( )
virtual

Referenced by SetMCPointType().

◆ Init()

virtual InitStatus PndSdsStripHitProducer::Init ( )
virtual

Virtual method Init

Referenced by PndSdsStripHitProducer().

◆ operator=()

PndSdsStripHitProducer& PndSdsStripHitProducer::operator= ( PndSdsStripHitProducer other)
inline

Definition at line 110 of file PndSdsStripHitProducer.h.

References fChargeConverter, fChargeDigiParameterList, fCurrentChargeConverter, fCurrentDigiPar, fCurrentStripCalcBot, fCurrentStripCalcTop, fDataBuffer, fDigiParameterList, fEventNr, fGeoH, fMcEventHeader, fOverrideParams, fPointArray, fStripArray, fStripCalcBot, fStripCalcTop, and fTimeOrderedDigi.

111  {
112  if (this != &other) // protect against invalid self-assignment
113  {
114  fPointArray = other.fPointArray;
115  fStripArray = other.fStripArray;
116  fDataBuffer = other.fDataBuffer;
127  fGeoH = other.fGeoH;
130  fEventNr = other.fEventNr;
131  }
132  return *this;
133  }
TList * fDigiParameterList
Digitization Parameters.
std::map< const char *, PndSdsCalcStrip * > fStripCalcTop
Calculator objects.
std::map< const char *, PndSdsChargeConversion * > fChargeConverter
std::map< const char *, PndSdsCalcStrip * > fStripCalcBot
Bool_t fTimeOrderedDigi
parameter to switch to time ordered simulation
FairWriteoutBuffer * fDataBuffer
Int_t fEventNr
EventCounter.
PndSdsStripDigiPar * fCurrentDigiPar
PndSdsChargeConversion * fCurrentChargeConverter
TClonesArray * fStripArray
Output array of PndSdsHits.
FairMCEventHeader * fMcEventHeader
Bool_t fOverrideParams
///< converter for detector names
PndSdsCalcStrip * fCurrentStripCalcBot
PndSdsCalcStrip * fCurrentStripCalcTop

◆ ProduceHits()

void PndSdsStripHitProducer::ProduceHits ( )
protected

◆ Register()

void PndSdsStripHitProducer::Register ( )
protected

◆ ReInit()

virtual InitStatus PndSdsStripHitProducer::ReInit ( )
virtual

Referenced by PndSdsStripHitProducer().

◆ Reset()

void PndSdsStripHitProducer::Reset ( )
protected

◆ RunTimeBased()

void PndSdsStripHitProducer::RunTimeBased ( )
inline

Definition at line 108 of file PndSdsStripHitProducer.h.

References fTimeOrderedDigi.

108 { fTimeOrderedDigi = kTRUE; }
Bool_t fTimeOrderedDigi
parameter to switch to time ordered simulation

◆ SelectSensorParams()

Bool_t PndSdsStripHitProducer::SelectSensorParams ( Int_t  sensorID)
protected

◆ SetBranchNames()

virtual void PndSdsStripHitProducer::SetBranchNames ( )
pure virtual

pure virtual method SetBranchNames

called by Init() function to set individual branch names

Implements PndSdsTask.

Implemented in PndMvdStripHitProducer, and PndLmdStripHitProducer.

Referenced by PndSdsStripHitProducer().

◆ SetCalculators()

virtual void PndSdsStripHitProducer::SetCalculators ( )
protectedvirtual

◆ SetMCPointType()

virtual void PndSdsStripHitProducer::SetMCPointType ( )
inlinevirtual

Definition at line 100 of file PndSdsStripHitProducer.h.

References AddDigi(), Exec(), FinishEvent(), and FinishTask().

100 {};

◆ SetParContainers()

virtual void PndSdsStripHitProducer::SetParContainers ( )
virtual

Member Data Documentation

◆ fChargeConverter

std::map<const char *, PndSdsChargeConversion *> PndSdsStripHitProducer::fChargeConverter
protected

Definition at line 153 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fChargeDigiParameterList

TList* PndSdsStripHitProducer::fChargeDigiParameterList
protected

Definition at line 146 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fCurrentChargeConverter

PndSdsChargeConversion* PndSdsStripHitProducer::fCurrentChargeConverter
protected

Definition at line 148 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fCurrentDigiPar

PndSdsStripDigiPar* PndSdsStripHitProducer::fCurrentDigiPar
protected

Definition at line 147 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fCurrentStripCalcBot

PndSdsCalcStrip* PndSdsStripHitProducer::fCurrentStripCalcBot
protected

Definition at line 155 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fCurrentStripCalcTop

PndSdsCalcStrip* PndSdsStripHitProducer::fCurrentStripCalcTop
protected

Definition at line 154 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fDataBuffer

FairWriteoutBuffer* PndSdsStripHitProducer::fDataBuffer
protected

Definition at line 142 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fDigiParameterList

TList* PndSdsStripHitProducer::fDigiParameterList
protected

Digitization Parameters.

Definition at line 145 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fEventNr

Int_t PndSdsStripHitProducer::fEventNr
protected

EventCounter.

Definition at line 171 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fGeoH

PndGeoHandling* PndSdsStripHitProducer::fGeoH
protected

Definition at line 167 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fMcEventHeader

FairMCEventHeader* PndSdsStripHitProducer::fMcEventHeader
protected

Definition at line 165 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fOverrideParams

Bool_t PndSdsStripHitProducer::fOverrideParams
protected

///< converter for detector names

internal Flag that controls use of Parameter Invocations

Definition at line 168 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fPointArray

TClonesArray* PndSdsStripHitProducer::fPointArray
protected

Input array of PndSdsMCPoints

Definition at line 137 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fStripArray

TClonesArray* PndSdsStripHitProducer::fStripArray
protected

Output array of PndSdsHits.

Definition at line 140 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fStripCalcBot

std::map<const char *, PndSdsCalcStrip *> PndSdsStripHitProducer::fStripCalcBot
protected

Definition at line 152 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fStripCalcTop

std::map<const char *, PndSdsCalcStrip *> PndSdsStripHitProducer::fStripCalcTop
protected

Calculator objects.

Definition at line 151 of file PndSdsStripHitProducer.h.

Referenced by operator=().

◆ fTimeOrderedDigi

Bool_t PndSdsStripHitProducer::fTimeOrderedDigi
protected

parameter to switch to time ordered simulation

Definition at line 169 of file PndSdsStripHitProducer.h.

Referenced by operator=(), and RunTimeBased().


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