![]() |
Project
|
#include <ElectronTransport.h>
Public Member Functions | |
~ElectronTransport ()=default | |
Destructor. | |
void | updateParameters (float vdrift=0) |
Update the OCDB parameters cached in the class. To be called once per event. | |
GlobalPosition3D | getElectronDrift (GlobalPosition3D posEle, float &driftTime) |
bool | isCompletelyOutOfSectorCoarseElectronDrift (GlobalPosition3D posEle, const Sector §or) const |
bool | isElectronAttachment (float driftTime) |
float | getDriftTime (float zPos, float signChange=1.f) const |
Static Public Member Functions | |
static ElectronTransport & | instance () |
This class handles the electron transport in the active volume of the TPC. In particular, in deals with the diffusion of the charge cloud while drifting towards the readout chambers and the loss of electrons during that drift due to attachement.
Definition at line 35 of file ElectronTransport.h.
|
default |
Destructor.
|
inline |
Compute electron drift time from z position
zPos | z position of the charge |
signChange | If the zPosition of the charge is shifted to the other TPC side, the drift length needs to be accordingly longer. In such cases, this parameter is set to -1 |
Definition at line 96 of file ElectronTransport.h.
GlobalPosition3D ElectronTransport::getElectronDrift | ( | GlobalPosition3D | posEle, |
float & | driftTime | ||
) |
Drift of electrons in electric field taking into account diffusion
posEle | GlobalPosition3D with start position of the electrons |
For drift lengths shorter than 1 mm, the drift length is set to that value
The position is smeared by a Gaussian with mean around the actual position and a width according to the diffusion coefficient times sqrt(drift length)
If there is a sign change in the z position, the hit has changed sides This is not possible, but rather just an elongation of the drift time. In such cases, the old z position of the hit is returned, and the drift time is computed accordingly
Definition at line 36 of file ElectronTransport.cxx.
|
inlinestatic |
Definition at line 38 of file ElectronTransport.h.
bool ElectronTransport::isCompletelyOutOfSectorCoarseElectronDrift | ( | GlobalPosition3D | posEle, |
const Sector & | sector | ||
) | const |
Drift of electrons in electric field taking into account diffusion with 3 sigma of the width
posEle | GlobalPosition3D with start position of the electrons |
For drift lengths shorter than 1 mm, the drift length is set to that value
Three sigma of the expected average transverse diffusion
Definition at line 68 of file ElectronTransport.cxx.
|
inline |
Attachment probability for a given drift time
driftTime | Drift time of the electron |
electron is attached and lost
not attached
Definition at line 87 of file ElectronTransport.h.
void ElectronTransport::updateParameters | ( | float | vdrift = 0 | ) |
Update the OCDB parameters cached in the class. To be called once per event.
Definition at line 29 of file ElectronTransport.cxx.