MarlinTPC
1.2.0
|
The MokkaToVoxelProcessor is a fast digitisation processor. More...
#include <MokkaToVoxelProcessor.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
MokkaToVoxelProcessor () | |
C'tor. | |
virtual | ~MokkaToVoxelProcessor () |
D'tor. | |
virtual void | init () |
Called at the begin of the job before anything is read. More... | |
virtual void | processRunHeader (lcio::LCRunHeader *run) |
Called for every run. | |
virtual void | processEvent (lcio::LCEvent *evt) |
Called for every event - the working horse. | |
virtual void | check (lcio::LCEvent *evt) |
virtual void | end () |
Called after data processing for clean up. | |
Protected Attributes | |
std::string | _inputCollectionName |
Name of input collection. | |
std::string | _outputCollectionName |
Name of output collection. | |
std::string | _negativeOutputCollectionName |
Name of output collection for the negative half TPC. | |
std::string | _conditionsColName |
Name of collection with conditions data. | |
marlintpc::VoxelTPC * | _MokkaHitsInVoxelTPC_positive |
marlintpc::VoxelTPC * | _MokkaHitsInVoxelTPC_negative |
gear::PadRowLayout2D const * | _padLayout |
int | _transient |
If not 0 output collection is set transient. | |
double | _ionisationEnergy |
Ionisation energy of the gas. | |
double | _readoutFrequency |
Frequency of the readout electronics. | |
double | _amplification |
Total amplification of primary electrons. | |
double | _diffTrans |
Transversal diffusion coefficient, comes from TPCConditions or as processor parameter. | |
double | _diffLong |
Longitudinal diffusion coefficient, comes from TPCConditions or as processor parameter. | |
double | _defocusTrans |
Transversal defocussing, comes from TPCConditions or as processor parameter. | |
double | _vDrift |
Electron drift velocity, comes from TPCConditions or as processor parameter. | |
double | _sigmaElectronics |
Charge broadening due to electronics shaping, which is assumed to be Gaussian. | |
double | _zAnode |
The z position of the anode (edge of the readout terminating the drift volume) | |
The MokkaToVoxelProcessor is a fast digitisation processor.
It takes hits from Mokka simulations for input and does the whole digitisation in the TPC in one step. The energy deposition of the Mokka hit is transformed into the corresponding charge. The charge is then multiplied by a user given amplification factor. The broadening of the amplified charges is calculated from transverse diffusion and transverse defocussing. The time binning of the TPCVoxels is done by the frequency of the readout electronics. The broadening of the charge in longitudinal direction is done by the longitudinal diffusion and width of the electronics shaping, which is assumed to be gaussian. No event overlay is done.
A collection of TPCVoxel which contain charges detected on the corresponding pad at the corresponding time
InputCollectionName | Name of input SimTrackerHit collection (default: MokkaHits) |
OutputCollectionName | Name of output TPCVoxel collection (default: MokkaHitsInVoxels) |
TPCConditionsCollection | Name of the input collection containing the TPC conditions data (default: TPCConditions::getDefaultColName()) |
Transient | If not 0 the output collection is set transient (default: 0) |
ReadoutFrequency | Frequency of readout electronics in [MHz] (default: 40) |
Amplification | Total amplification factor of primary electrons (default: 1) |
IonisationEnergy | Mean ionisation energy of the chambers gas in [GeV] (default: 26E-9 (argon)) |
SigmaElectronics | Width of the electronics shaping, which is assumed to be gaussian (default: 0) |
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.
References _readoutFrequency, and _zAnode.