HerdSoftware
0.4.0
|
Base algorithm for digitizers of the Monte Carlo hits of the Silicon Charge Detector implementing the effect of a capacitive net between on the strips. More...
#include <algorithms/digitization/ScdCapacitiveNetAlgo.h>
Public Member Functions | |
ScdCapacitiveNetAlgo (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, EA::Memory::Status memStatus) override |
Free the memory of unneeded objects. More... | |
Private Member Functions | |
bool | ReadConfigFile (std::string configFile) |
Read the capacitive net factors from a configuration file. More... | |
bool | GenerateHits (const ScdHitsColl &implantHitsColl, ScdHitsColl &readoutHitsColl) |
Generate the diffused hits. More... | |
Private Attributes | |
int | m_nFloating |
Number of floating strips not read beween two readout strips. More... | |
int | m_startReadout |
Index of the first implanted strip that is read. More... | |
std::string | m_configFile |
Name of the file name where to read the capacitive net. More... | |
int | m_configStart |
Start readout strip with respect to closest to the left. More... | |
std::vector< std::vector< float > > | m_configFraction |
Fraction of readout signal to be put on each readout strip for each implant strip. More... | |
ScdHitsColl | m_readoutHitsColl |
std::shared_ptr< ScdChannelGeoInfoColl > | m_readoutChannelGeoInfoColl |
EA::observer_ptr< ScdGeoParamsColl > | m_origGeoParamsColl |
EA::StorePtr | m_evStore |
EA::StorePtr | m_globStore |
Base algorithm for digitizers of the Monte Carlo hits of the Silicon Charge Detector implementing the effect of a capacitive net between on the strips.
This algorithm distributes the signal collected on a implantation strip to neighboring 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
Needed event objects:
name | type | store | optional | description |
---|---|---|---|---|
scdHitsCollMC | ScdHitsColl | evStore | no | The MC hits in the strips. |
Needed global objects:
name | type | store | optional | description |
---|---|---|---|---|
scdGeoParamsColl | ScdGeoParamsColl | globStore | yes | Geometric parameters of the SCD. |
Produced event objects:
name | type | alias | store | description |
---|---|---|---|---|
scdCapNetHitsCollMC | ScdHitsColl | scdHitsCollMC | evStore | The hits in the readout strips of the SCD. |
Produced global objects:
name | type | alias | store | description |
---|---|---|---|---|
scdChannelGeoInfoCapNetColl | ScdChannelGeoInfoColl | scdChannelGeoInfoColl | globStore | The geometry parameters of the digitized SCD. |
Parameters:
name | type | default value | description |
---|---|---|---|
nFloating | int | 2 | Number of floating strips between two consecutive readout strips. |
startReadout | int | 0 | Number of not read strips at the beginning of the ladder. |
configFile | string | "" | Name of the capacitive net configuration file. |
Herd::ScdCapacitiveNetAlgo::ScdCapacitiveNetAlgo | ( | 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 SCD after charge diffusion. It fills the collection passed as arguments with the digitized hits.
implantHitsColl | The diffused hits on the implanted strips (return value). |
readoutHitsColl | The diffused hits on the readout strips (return value). |
|
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. |
|
private |
Name of the file name where to read the capacitive net.
|
private |
Fraction of readout signal to be put on each readout strip for each implant strip.
|
private |
Start readout strip with respect to closest to the left.
|
private |
|
private |
|
private |
Number of floating strips not read beween two readout strips.
|
private |
|
private |
|
private |
|
private |
Index of the first implanted strip that is read.