HerdSoftware
0.1.1
|
Base algorithm for digitizers of the Monte Carlo hits of silicon detector implementing the effect of a capacitive net between on the strips. More...
#include <algorithms/digitization/SiliconDetectorCapacitiveNetAlgo.h>
Public Member Functions | |
SiliconDetectorCapacitiveNetAlgo (const std::string &name) | |
Constructor. More... | |
bool | Initialize () override |
Initialization of the algorithm. More... | |
bool | Process () override |
Process a single event. More... | |
std::vector< std::string > | FreeObjects (const std::vector< std::string > &objs, Memory::Status memStatus) override |
Free the memory of unneeded objects. More... | |
Protected Attributes | |
int | _nFloating |
Number of floating strips not read beween two readout strips. More... | |
int | _startReadout |
Index of the first implanted strip that is read. More... | |
std::string | _configFile |
Name of the file name where to read the capacitive net. More... | |
int | _configStart |
Start readout strip with respect to closest to the left. More... | |
std::vector< std::vector< float > > | _configFraction |
Fraction of readout signal to be put on each readout strip for each implant strip. More... | |
std::string | _detName |
Name of the detector, e.g "stk". More... | |
Private Member Functions | |
bool | ReadConfigFile (std::string configFile) |
Read the capacitive net factors from a configuration file. More... | |
bool | GenerateHits (const SiliconDetectorHitsColl &implantHitsColl, SiliconDetectorHitsColl &readoutHitsColl) |
Generate the diffused hits. More... | |
Private Attributes | |
SiliconDetectorHitsColl | _readoutHitsColl |
std::shared_ptr< SiliconDetectorChannelGeoInfoColl > | _readoutChannelGeoInfoColl |
observer_ptr< SiliconDetectorGeoParamsColl > | _origGeoParamsColl |
StorePtr | _evStore |
StorePtr | _globStore |
Base algorithm for digitizers of the Monte Carlo hits of silicon detector implementing the effect of a capacitive net between on the strips.
This algorithm distributes the signal collected on a implantation strip to neightboring readout strips. The procedure is repeated on the same wafer to calculate and signal is accumulated on the readout strips. The capacitive net is read in a simple table from a static external file.
Example of capacitive net config file format (lines starting with # are comments):
-2
0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.667 0.333 0.000 0.000 0.000 0.333 0.667 0.000
NOTE: this algorithm cannot be used directly in analysis job; use #StkCapacitiveNetAlgo for STK and #ScdCapacitiveNetAlgo for SCD.
Herd::SiliconDetectorCapacitiveNetAlgo::SiliconDetectorCapacitiveNetAlgo | ( | const std::string & | name | ) |
Constructor.
name | The name of the algorithm. |
|
override |
Free the memory of unneeded objects.
Currently this method frees the memory of the digitized hits if memStatus
is EXHAUSTED.
objs | The list of objects to be freed. |
memStatus | The current memory occupation status. |
|
private |
Generate the diffused hits.
This function generates hits on the silicon detector after charge diffusion. It fills the collection passed as the digHitsColl
argument with the digitized hits.
digGeoParamsColl | The geometry parameters of the digitized detector. |
particleHitsColl | The collection of particle hits. |
hitsColl | The collection of hits. |
digHitsColl | The collection of digitized hits. |
|
override |
Initialization of the algorithm.
|
override |
Process a single event.
|
private |
Read the capacitive net factors from a configuration file.
configFile | The config file name. |
|
protected |
Name of the file name where to read the capacitive net.
|
protected |
Fraction of readout signal to be put on each readout strip for each implant strip.
|
protected |
Start readout strip with respect to closest to the left.
|
protected |
Name of the detector, e.g "stk".
|
private |
|
private |
|
protected |
Number of floating strips not read beween two readout strips.
|
private |
|
private |
|
private |
|
protected |
Index of the first implanted strip that is read.